有一个巧妙的技巧可以在 iframe 内容上获得“点击”。
你可以这样做:
<div id="iframeinside">
<iframe />
</div>
现在可以在 js 中说类似的内容:
var oldActive = document.activeElement; /* getting active Element */
var frame = $('#iframeinside iframe')[0];
$('#iframeinside').mouseenter(function() {
/* Setting interval to 1ms for getting eventually x,y mouse coords*/
oldActive = document.activeElement;
setInterval('doSomething()', 1);
});
$('#iframeinside').mouseleave(function () {
/* clear interval cause we arent over the element anymore*/
clearInterval(intervalId);
});
这些间隔确实调用:
function doSomething() {
/* if the focus has changed to the iframe */
if(oldActive != frame && document.activeElement == frame) {
oldActive = document.activeElement;
alert(myQuery);
alert('click did happen to the iframe');
}
}
我用它做了几件事,它总是有效的。我没有检查的是ie6,7和哥哥怎么样。