我在旋转木马中有一个项目并绑定了.click()事件绑定到它。并且它的工作非常好,因为该项目位于轮播的第一页并且在加载时可见。
但是如果我移动旋转木马使其变得不可见然后在视口中移回,则click()事件不再起作用了吗?
我可能只是在可见时再次以某种方式注册?
BTW Click用于打开模态jQuery UI对话框
由于
答案 0 :(得分:0)
在你发表评论之后,我注意到当你通过旋转木马时,点击不再起作用了。
我不确切知道这个插件是如何工作的。我想它可能会重新创建元素,并且事件处理程序会丢失。
解决此问题的方法是使用事件委派
基本上,您会将.quickQoute
上的点击执行委托给一个容器,在您的情况下,转盘元素#inner
:
$('#inner').on('click', '.quickQoute', function () {
$("#quickQoute").dialog({ closeText: ' ' });
$("#quickQoute").dialog("open");
return false;
});
有关使用.on()
的事件委派的更多信息答案 1 :(得分:0)
我建议使用liveQuery plugin
这将在创建元素时自动将事件绑定到元素。例如:
$(".some_appearing_button").livequery('click',function () {
alert("You clicked me!");
});
这允许您首先设置事件处理程序,并且可以选择在以后创建元素,就像您的转盘一样。