我正在使用jquery
$('.mybutton').live('click', function(){
// do something
});
当文档准备就绪时会调用它,但是当文档准备就绪时,会使用“mybutton”类,但如果用户单击某处,则会出现一个新表单,其中使用了带有“mybutton”类的按钮。但这似乎不起作用,它没有所需的处理程序。
这是因为没有“mybutton”类可以在文档准备好的时候开始吗?
答案 0 :(得分:1)
如果live()
似乎对具有正确选择器的元素不起作用,例如.mybutton
,则可能是因为.mybutton
的某些祖先元素是防止冒泡发生。
如果 .mybutton
的任何祖先有:
return false;
或:
event.stopPropagation();
这将有效禁用.live()
的{{1}},因为.mybutton
需要事件一直冒泡到根目录。
答案 1 :(得分:0)
编辑:好的,我误解了你的问题
这更像是“live()
是否始终需要选择器?”的答案。
是。
请参阅此wiki page上的警告部分。
jquery.live()需要选择器的原因是explained here。
答案 2 :(得分:0)
也许你可以试试这个:
$('#myForm').delegate('.mybutton', 'click', function() {
// do something.
})