2013-07-09 66 views
0

我對任何人激活模態視頻播放器時出現的網站有覆蓋效果。 .click()可以讓所有的瀏覽器都能使用黑色覆蓋圖,但.click()使其在所有瀏覽器上都可以使用。jQuery .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

你可以重現這個對jsFiddle.net工作? – j08691

+0

小提琴添加。小提琴在Safari上工作,但我的現場網站沒有。去搞清楚。 – user1729506

+0

爲你的jQuery版本調整了答案,試試吧... – SpYk3HH

回答

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

+0

奇怪的是,它什麼都不做。 – user1729506

+0

@ user1729506是否刪除了其他2個'.click'事件?如果你使用我在小提琴中看到的相同的jQuery版本,這應該工作。 – SpYk3HH

+0

我做過了,但實況網站正在使用1.4.4。 – user1729506