[英]jQuery live not working
为什么下面的代码不起作用:
$('button[name="publish"]', 'button[name="cancel"]').live('click', function(){
alert('ddddd');
});
html是动态生成的,基本上是facebook的“共享”对话框,具有以下两个按钮:
<input type="button" name="publish" value="Share">
<input type="button" name="cancel" value="Cancel">
该页面可以在这里查看:
您当前的选择器是以下简称 :
$('button[name="cancel"]').find('button[name="publish"]')
那不是故意的。 您正在寻找:
$('button[name="publish"], button[name="cancel"]')
因为您的选择器有误。 试试这个(注意整个选择器表达式都被引用):
$('button[name="publish"], button[name="cancel"]').live('click', function(){
alert('ddddd');
});
当前,您正在寻找选择器的第一部分( button[name="publish"]
),并将选择器的第二部分用作上下文(换句话说,它将查找与button[name="publish"]
并且是与button[name="cancel"]
)匹配的元素的后代。
另请注意,不建议使用live
方法。 如果你正在使用jQuery 1.7+使用on
。 如果您使用的是旧版本,请使用delegate
。
它不起作用,因为您尝试使用$('button ...')选择一个“输入”
尝试这个
$('input[name="publish"] , input[name="cancel"]').live('click', function(){
alert('ddddd');
});
$('input[name=publish] , input[name=cancel]').live('click', function(){
alert('ddddd');
});
$('button[name="publish"], button[name="cancel"]').live('click', function(){
alert('ddddd');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.