jQuery.click()在Safari上的工作不一致
我在一个网站上有一个叠加效果,当任何人激活一个模态视频播放器时就会出现。jQuery.click()在Safari上的工作不一致,jquery,safari,fadein,fadeout,Jquery,Safari,Fadein,Fadeout,我在一个网站上有一个叠加效果,当任何人激活一个模态视频播放器时就会出现。.click()使黑色覆盖显示在所有浏览器上都有效,但使其消失的.click()使其消失在除Safari之外的所有浏览器上都有效 下面是正在使用的代码: $("a.watch-video").click(function() { $('#superhomevideooverlay').fadeIn(); }); $("a.video-close").click(function() { $('#superh
.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小提琴示例:
注意:在JSF上,它在Safari中工作。所以我更加困惑。出于好奇,试试下面的方法,告诉我它是否有效。将这两种方法替换为。单击此方法:
$(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();
}
})
在Safari版本4.1和5.1上进行测试和工作你能在JSFIDLE.net上复制这个吗?FIDLE补充道。小提琴可以在Safari上使用,但我的live站点不能。仔细想想。调整你的jQuery版本的答案,试试看……抱歉,但从这个意义上讲,小提琴是不准确的。这是我在没有外部链接的情况下在Fiddle上可以使用的最低jquery。此站点实际使用的是1.4.4。使用1.4.4@user1729506版本时,是否删除了其他2个。单击事件?如果您使用的是我在fiddle中看到的同一个jQuery版本,那么这应该是可行的。我确实使用了,但live站点使用的是1.4.4。@user1729506我刚刚在旧mac上使用Safari版本4在本地测试了这段代码,仅供参考。您的代码中可能还有另一个错误。检查开发人员控制台日志中的错误