JQuery - 两个重叠/碰撞的脚本

时间:2012-08-07 09:32:15

标签: jquery collision overlap

我刚刚开始重新设计我的投资组合,发现了一个很小的烦人的错误: 请查看http://hire.pixelpizza.de/并点击“确定,让我们查看商品”。之后,你将有一个蓝色背景的页面,你必须点击“查看西部的更多图片”。现在你已经打开了一个fancybox画廊。

问题是,现在如果你按下键盘上的右箭头键并且不那么酷,页面切换和Fancybox的两个脚本会相互叠加和重叠

我绝对不知道如何解决这个问题: - /我只是希望hander.js(http://hire.pixelpizza.de/assets/js/handler.js)脚本在我打开花哨时停止盒子,当我关闭它们时重新开始。它有点棘手,因为两个脚本都使用密钥号39

我还可以使用一个解决方案,当你打开fancybox时你根本无法使用左右键,但是当fancybox出现时,站点开关认为必须停止

1 个答案:

答案 0 :(得分:1)

在fancybox的源代码中,您可以在第671行找到它:

if (keys) {
  D.bind('keydown.fb', function (e) {
    var code   = e.which || e.keyCode,
                 target = e.target || e.srcElement;
// more code
  });
}

将其更改为:

if (keys) {
  D.bind('keydown.fb', function (e) {
    e.stopImmediatePropagation();
    e.preventDefault();
    var code   = e.which || e.keyCode,
                 target = e.target || e.srcElement;
// more code
  });
}

事件将停止在脚本的其余部分冒泡。不错的网站btw