例如我正在使用追加,例如我是一个div的附加按钮,我有函数$('button_id')。点击(...等工作,我附加div,如何我可以这样做。我的意思是我没有错误,但功能没有启动,这是因为我追加然后我想使用该功能,但如何做到这一点,我尝试与委托,但同样的事情。我尝试了功能在按钮标签,onmouseover然后功能的东西,但没有什么它给我功能没有找到。什么是解决方案?
我有两个事件,一个事件是附加按钮的click事件,另一个事件是click事件,如果单击附加的按钮,但是第二个事件不起作用?
答案 0 :(得分:2)
尝试使用:
$(elem).live(...)
它将在现在和将来绑定事件。
答案 1 :(得分:0)
首先,如果您向我们展示确切的源代码,它总是有帮助的。 $('button_id')
是一个不正确的选择器,尝试更多$('#button_id')
作为您的选择器。另外,您是否附加动态内容?无论如何,我总是非常成功地使用delegate()
函数,但您是否尝试过使用live()
函数?此外,还有一件事要确保您拥有最新版本的jQuery作为源。
如前所述,如果你想拥有一个指针,使用类而不是id="some_id"
使用class="appended"
,你就不能有重复的id。要使用jQuery选择那些,请使用像$('.appended')
这样的选择器。
答案 2 :(得分:0)
尝试这样的东西,它会按照你的期望工作。
$("#button_id").click(function(){
//On click code goes here
}).appendTo($("#div_id"));
答案 3 :(得分:0)
如果没有看到您的代码,很难确定您遇到的问题,但delegate
(或live
)应该是您想要做的事情的完美之处:
$("body").delegate("#b", "click", function() {
alert("ok");
});
$("#example").append('<input type="button" id="b" value="Click" />');
点击具有id="b"
的元素时,上面的点击处理程序将会触发,无论该元素是否恰好位于DOM中。
然而,正如其他人所说,重要的是要记住ID必须在文档中是唯一的,所以通过它的声音你可能更好地使用类。
您可以看到上面代码运行here的示例。