开发者社区> 问答> 正文

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

我的思路是,想使用JQ生成了一个id="test"的元素,然后在用

    $document().ready(function(){$("#test").click()})

的方法来绑定动作,但是不行,貌似document.ready,刷新一次才能绑定,但jq生成新的元素因为没有刷新,所以无法绑定?
有什么办法可以做到这个吗?我现在能想是生成test元素的时候,绑定一个onclick动作,但是这样子就是js了,代码要重新写了。。有啥JQ的方法吗?

展开
收起
吴孟桥 2016-06-06 10:57:59 1990 0
1 条回答
写回答
取消 提交回答
  • 像下面这样的例子

    <!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>
    2019-07-17 19:27:54
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
穆客带你快速定位 Node.js 内存泄露 立即下载
穆客带你快速定位Node.js内存泄露 立即下载
探究 Node.js 的服务端之路 立即下载