2 u011371270 u011371270 于 2016.03.10 17:11 提问

怎么给JQ生成的元素绑定动作?使用document.ready不行

我的思路是,想使用JQ生成了一个id="test"的元素,然后在用
$document().ready(function(){$("#test").click()})
的方法来绑定动作,但是不行,貌似document.ready,刷新一次才能绑定,但jq生成新的元素因为没有刷新,所以无法绑定?

有什么办法可以做到这个吗?我现在能想是生成test元素的时候,绑定一个onclick动作,但是这样子就是js了,代码要重新写了。。有啥JQ的方法吗?

8个回答

rui888
rui888   Ds   Rxr 2016.03.10 17:23
已采纳
baidu_34066826
baidu_34066826   2016.03.10 17:14

$("#test").click(function(){

})

baidu_34066826
baidu_34066826   2016.03.10 17:14

$("#test").on("click",function(){

})

u013772876
u013772876   2016.03.10 17:15

你在生成 id 元素后再进行绑定试试!

qq_19891827
qq_19891827   2016.03.10 17:24

用jquery的事件委托试下,假设query生成的元素id为test

 $('document').on('click','#test',function(){
        alert('我是回调函数');
 });
rui888
rui888   Ds   Rxr 2016.03.10 17:25
 <!DOCTYPE html>
<html>
<head>
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
   var a = 1,
    $_div = $('#test');
    $('input[name=addbtn]').on('click', function () {
        $_div.append('<input type="button" name="test' + a + '" value="按钮' + a + '"/>');
        a++;
    });

    //偶数项点击事件
    $_div.on('click', 'input[name^=test]:even', function () {   
        alert('我是有效的on方法,你能看见我吗:' + this.value);
    });

    //奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持
    $('input[name^=test]:odd').on('click', function () {   
        alert('我是无效的on方法,你不能看见我');
    });

    //奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持
    $('input[name^=test]:odd').live('click', function () {
        alert('我是live方法,你能看见我吗:' + this.value);
    });
});
</script>
</head>
<body>
<input type="button" name="addbtn" value="按钮添加" />
<div id="test"></div>
</body>
</html>
qq_19891827
qq_19891827   2016.03.10 17:26

打错了,document的引号去掉

u013829202
u013829202   Rxr 2016.03.10 17:28

我觉得可能是元素没生成,你就要绑定id。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!