我有一个使用名为“循环”的jQuery滑块的网站。当您单击幻灯片时,会弹出一个fancybox。滑块然后暂停哪个是正确的,但我需要的是滑块在关闭fancybox后恢复。从本质上讲,我无法让这段代码的第二部分发挥作用。
$('.fancy-box').click(function(){
console.log('pause is working')
$('.hero-carousel').cycle('pause');
});
$('.fancybox-close').click(function(){
console.log('resume is working');
$('.hero-carousel').cycle('resume');
});
答案 0 :(得分:0)
尝试使用事件委托作为关闭按钮,以防它在运行时生成(因此在页面加载时不存在):
$("body").on("click", ".fancybox-close", function(event){
console.log('resume is working');
$('.hero-carousel').cycle('resume');
});
更新:
由于这似乎解决了这个问题,我想解释一下这个问题有什么好处(以防万一将来遇到同样的问题)。
加载页面时,没有类名为fancybox-close
的元素。因此,单击处理程序永远不会附加到任何内容。
$("body").on("click", ".fancybox-close", function(event){...});
会听取body标签内发生的任何点击(几乎每次点击),如果该点击源自一个类名为fancybox-close
的元素,那么它将执行功能。因此,我们现在不再依赖于页面加载时出现的元素。