Javascript 如何让鼠标在iframe中进出工作?
请看以下两个演示: 及 在演示1中,如果您将鼠标悬停在灰色矩形上,您将收到“In”警报,当您将鼠标悬停在out上时,您将收到Chrome中的“out”警报。但在Firefox中,你只会收到一次“进入”警报,而不会在随后的悬停中收到“退出”或“进入”警报 我可以在Firefox中使用它吗 演示1:Javascript 如何让鼠标在iframe中进出工作?,javascript,jquery,cross-browser,Javascript,Jquery,Cross Browser,请看以下两个演示: 及 在演示1中,如果您将鼠标悬停在灰色矩形上,您将收到“In”警报,当您将鼠标悬停在out上时,您将收到Chrome中的“out”警报。但在Firefox中,你只会收到一次“进入”警报,而不会在随后的悬停中收到“退出”或“进入”警报 我可以在Firefox中使用它吗 演示1: <div id="myDiv" style="background:#ccc; width:728px; height:90px;">Hello World</div> v
<div id="myDiv" style="background:#ccc; width:728px; height:90px;">Hello World</div>
var $ = parent.jQuery,
div = document.getElementById('myDiv');
if($ !== undefined) {
$(div).on('mouseenter', function() {
alert('in');
});
$(div).on('mouseleave', function() {
alert('out');
});
}
<iframe src="http://fiddle.jshell.net/8uPWG/show/" width="728" height="90" scrolling="no" frameborder="0"></iframe>
你好,世界
var$=parent.jQuery,
div=document.getElementById('myDiv');
如果($!==未定义){
$(div).on('mouseenter',function(){
警惕(‘in’);
});
$(div).on('mouseleave',function(){
警惕(‘外出’);
});
}
演示2:
<div id="myDiv" style="background:#ccc; width:728px; height:90px;">Hello World</div>
var $ = parent.jQuery,
div = document.getElementById('myDiv');
if($ !== undefined) {
$(div).on('mouseenter', function() {
alert('in');
});
$(div).on('mouseleave', function() {
alert('out');
});
}
<iframe src="http://fiddle.jshell.net/8uPWG/show/" width="728" height="90" scrolling="no" frameborder="0"></iframe>
这是与问题本身无关的演示。。。为什么不将
div=document.getElementById('myDiv')
替换为div=$('#myDiv')
,然后稍后引用$div
对象,即(…)上的$div.on
@Terry,这将不起作用:因为jQuery属于父文档,jQuery为不存在的id为myDiv的elemtn搜索父文档。噢,我真傻。我站在更正:PI必须有在iframe页面的JS,而不是父文档,因为这最终将是一个广告,在我没有控制权的各种网站上提供。它也将在iframe中工作,用我提供的JS代码替换你的JS代码。但是您必须将jquery导入iframe。