jQuery:附加事件、调用事件
在一段代码中,我有这样的:
$("#searchbar").trigger("onOptionsApplied");
在另一段代码中,我有这样的:
$("#searchbar").bind("onOptionsApplied", function () {
alert("fdafds");
});
bind()
在 trigger()
之前执行,但是当我查看页面,我从未收到 alert()
。
为什么不呢?我对事件做错了什么?
In one section of code I have this:
$("#searchbar").trigger("onOptionsApplied");
In another section of code, I have this:
$("#searchbar").bind("onOptionsApplied", function () {
alert("fdafds");
});
The bind()
is executed before the trigger()
, but when I view the page, I never get an alert()
.
Why not? What am I doing wrong with events?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许当你执行时你的
#searchbar
不是DOM的一部分:如果
.bind()
位于文档之外,或者因为#searchbar
是动态添加的。为了确保即使在这些条件下
onOptionsApplied
也能正确绑定,请使用.live()
或。 delegate()
:jsFiddle 示例
Perhaps your
#searchbar
is not part of the DOM when you execute:This type of stuff often happens if
.bind()
is outside the document ready or because#searchbar
is added dynamically.To make sure
onOptionsApplied
is bound correctly even under these conditions, use.live()
or.delegate()
:jsFiddle example
我也尝试过并且效果很好。
将绑定函数放入就绪处理程序中,然后触发事件...它应该会顺利进行
I also tried it and works fine.
put the bind function in the ready handler and then trigger the event ...it should go smooth