我有一个jQuery,在鼠标移动时淡入/淡出div
对象,但是在视图中有一个iframe
时它无法正常工作。
这是我的jQuery:
var timer, myDiv = $('#mydiv');
$(document).on('mousemove', function(ev) {
var _self = $(ev.target);
clearTimeout(timer);
if (_self.attr('id') === 'mydiv' || _self.parents('#mydiv').length) {
return;
}
if(!myDiv.hasClass('show')) {
myDiv.fadeIn();
}
timer = setTimeout(function() {
myDiv.fadeOut(1000, function() {
myDiv.removeClass('show');
});
}, 1960);
});
当鼠标指针悬停在iframe
对象上时,为什么这个jQuery不起作用?
这里是DEMO
你可以在演示页面的顶部看到jQuery的正常运行,它在鼠标移动时显示红色方块,并在n秒不活动后隐藏它。
相反,如果您尝试在iframe
上执行相同操作,则红色方块将变为隐藏状态,而不是其他任何内容。
更新
感谢 A。向我展示的{Wolff this我知道解决方案比想象的更复杂。
如果文档不在同一个document.domain上,那就变得非常了 有点mroe复杂,你需要运行iframes页面 javascript本身设置mousemove事件监听器。然后你 可以进行如下所述的跨帧通信: http://softwareas.com/cross-domain-communication-with-iframes
iFrame
被引用到我的子域名页面,因此我可以以任何方式进行编辑。
我该怎么办?