jQuery .click()不能一直在Safari上工作

时间:2013-07-09 17:21:33

标签: jquery safari fadein fadeout

我对任何人激活模态视频播放器时出现的网站都有叠加效果。用于制作黑色叠加层的.click()适用于所有浏览器,但.click()使其消失,除了Safari之外的所有浏览器都可以使用。

以下是使用的代码:

$("a.watch-video").click(function() {
    $('#superhomevideooverlay').fadeIn();
});

$("a.video-close").click(function() {
    $('#superhomevideooverlay').fadeOut();
});

叠加层的CSS是

#superhomevideooverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  opacity: 0.5;
  z-index: 1000;
  display: none;
}

JS小提琴示例:http://jsfiddle.net/Zf9Bp/ 注意:在JSF上,它适用于Safari。所以我更难过了。

1 个答案:

答案 0 :(得分:1)

出于好奇,请尝试以下方法并告诉我它是否有效。将.click方法替换为以下方法:

$(document).delegate('a.watch-video, a.video-close', 'click', function(e) {
    if ($(this).hasClass('watch-video')) {
        $('#superhomevideooverlay').fadeIn();
    }
    else if ($(this).hasClass('video-close')) {
        $('#superhomevideooverlay').fadeOut();
    }
})

Example


测试并使用Safari版本4.1和5.1