您好我无法弄清楚为什么Firefox不会在覆盖YouTube iframe的div上触发contextmenu事件。在Chrome或Safari中,事件会触发但Firefox中没有任何反应。我在embed URL中使用wmode = opaque作为第一个参数。我试过wmode = transparent它没有什么区别。
HTML:
<div id="container">
<div class="cover"></div>
<iframe src="//www.youtube.com/embed/B3YbODo7ieQ?wmode=opaque" frameborder="0"></iframe>
</div>
CSS:
#container {
width:500px;
height:500px;
outline:1px solid blue;
}
#container > div.cover {
position:absolute;
top:0; left:0;
z-index:5;
width:100%;
height:100%;
}
#container > iframe {
position:absolute;
top:0; left:0;
z-index:1;
width:100%;
height:100%;
}
JS:
$( '#container' ).find( 'div.cover' ).on( 'contextmenu', function( ) {
console.log( 'rclick' );
});
小提琴:http://jsfiddle.net/LT8BL/
关于如何修复的任何想法?
更新:它适用于Win7 / 8但不适用于Mac?尝试了一个不会触发的纯事件监听器。