jQuery .click()在旋转木马内的项目上

时间:2012-02-23 09:26:31

标签: jquery model dialog click carousel

我在旋转木马中有一个项目并绑定了.click()事件绑定到它。并且它的工作非常好,因为该项目位于轮播的第一页并且在加载时可见。

但是如果我移动旋转木马使其变得不可见然后在视口中移回,则click()事件不再起作用了吗?

我可能只是在可见时再次以某种方式注册?

BTW Click用于打开模态jQuery UI对话框

由于

2 个答案:

答案 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!");
});

这允许您首先设置事件处理程序,并且可以选择在以后创建元素,就像您的转盘一样。