jQuery live无法工作
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">
- 对jQuery库的引用很好并且已检查
- 使用就绪处理程序
页面可以在这里查看:
https://www.facebook.com/pages/Development-Application-Testing-Page/124719744278421?sk=app_126015774115928
您当前的选择器是的缩写
$('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
。
它不起作用,因为您正试图用$('按钮…')选择一个"输入"
试试这个
$('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');
});
相关文章:
- JQuery.live()工作不正常
- Jquery live已在上对进行了回复,但未工作
- jquery.live('点击',函数(事件)在页面加载时只工作一次
- OAuth.popup()方法在live中不工作,在本地主机上工作
- 为什么不't live()在移动狩猎上工作
- jtable's验证引擎不工作Uncaught TypeError:$(..).live不是函数
- live()、delegate()和on()在使用jQuery发出几次ajax请求后停止工作
- jQuery live无法工作
- JQuery中的on/live事件是如何工作的
- Textarea不能与jQuery live keyup功能一起工作
- Jquery 1.8.2 autocomplete + .live() + .create(),不能一起工作
- 为什么JQuery live()可以工作,而delegate()不能工作?
- jQuery 1.8.2 on命令不像live命令那样工作
- live()在jQuery 1.9上不能工作
- jQuery验证:live和ajax val不能正常工作
- jQuery live不像预期的那样工作
- 为什么jQuery live('click')只在带有AJAX分页的特定类的第一页上工作?
- Jquery .not()不能与live()一起工作
- Jquery mouseenter with live()不能在chrome和浏览器上工作
- 使用 jquery .live() 与当前和未来的 DOM 一起工作