绑定一个事件的 Javascript 不能执行是什么情况?

2014-04-04 21:15:50 +08:00
 Plumes
在一类button上绑定了一个函数
$("button.yes.btn.btn-success").click(function(){
alert("hello");
});
点击该按钮的时候,程序并没有执行
但是把这段代码复制到chrome的调试console中,再点击该按钮,就能执行了
这是什么情况呢?
3687 次点击
所在节点    JavaScript
10 条回复
jsonline
2014-04-04 22:02:24 +08:00
把你的代码发到 jsbin.com 再来讨论比较好
jakwings
2014-04-04 22:16:40 +08:00
估计是没保证这类按钮当时是否已经存在。建议把代码发到 jsfiddle 再讨论。
NemoAlex
2014-04-04 22:46:53 +08:00
楼主试试
console.log($("button.yes.btn.btn-success"))
估计就知道为什么了
alexapollo
2014-04-04 22:52:51 +08:00
JavaScript的坑
CosWind
2014-04-04 23:22:11 +08:00
楼主绑定该事件的时候dom ready了么
frye
2014-04-04 23:24:09 +08:00
@CosWind
肯定没干这个活
xh1994
2014-04-04 23:24:44 +08:00
$(document).on('click', 'button.yes.btn.btn-success', function() {
alert("hello");
});
muzuiget
2014-04-05 00:03:47 +08:00
像楼上所说,应该没在 domReady 时执行。

$(function(){

$("button.yes.btn.btn-success").click(function() {
alert("hello");
});

});

这样应该就好了。
captainwz
2014-04-05 11:13:22 +08:00
估计是DOM没READY...
$("button.yes.btn.btn-success").live('click',function(){
...
});
这样玩也应该可以...
yimity
2014-04-06 21:30:53 +08:00
因为你执行这个事件绑定到时候还没有这个元素呢,即使dom ready 因为有可能这个元素是后来插进去的。也有可能是页面中有元素,但是执行这句代码的时候此元素还没创建好呢,此时就要等 dom ready

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/107305

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX