gpt4 book ai didi

javascript mouseout 在交互式 iframe 上触发

转载 作者:行者123 更新时间:2023-12-03 04:27:38 24 4
gpt4 key购买 nike

我有一个虚拟旅游 iframe,当我导航 iframe 的控件时,jquery mouseout 事件会偶然触发。
当我仅在 iframe 中导航控件时,为什么会触发 jquery mouseout 事件。

当我只导航 iframe 控件时,我不希望触发 mouseout,因为我还有另一个用于 iframe mouseout 的函数。

这是example `

$("iframe").mouseout(function() {
console.log("mouseout!");
})

最佳答案

下面的代码可以帮助你,

//This example assumes execution from the parent of the the iframe

function bubbleIframeMouseMove(iframe){
// Save any previous onmousemove handler
var existingOnMouseMove = iframe.contentWindow.onmousemove;

// Attach a new onmousemove listener
iframe.contentWindow.onmousemove = function(e){
// Fire any existing onmousemove listener
if(existingOnMouseMove) existingOnMouseMove(e);

// Create a new event for the this window
var evt = document.createEvent("MouseEvents");

// We'll need this to offset the mouse move appropriately
var boundingClientRect = iframe.getBoundingClientRect();

// Initialize the event, copying exiting event values
// for the most part
evt.initMouseEvent(
"mousemove",
true, // bubbles
false, // not cancelable
window,
e.detail,
e.screenX,
e.screenY,
e.clientX + boundingClientRect.left,
e.clientY + boundingClientRect.top,
e.ctrlKey,
e.altKey,
e.shiftKey,
e.metaKey,
e.button,
null // no related element
);

// Dispatch the mousemove event on the iframe element
iframe.dispatchEvent(evt);
};
}

// Get the iframe element we want to track mouse movements on
var myIframe = document.getElementById("myIframe");

// Run it through the function to setup bubbling
bubbleIframeMouseMove(myIframe);

关于javascript mouseout 在交互式 iframe 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43632998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com