Javascript 带有子Iframe的鼠标事件
我对mousemove(以及其他任何类型的鼠标事件)和子iframe有问题 当我单击iframe,然后将鼠标拖动到主框架上时,主框架的mousemove事件根本不会触发 我尝试将事件冒泡到父级(但这样我无法获取event.target) 我曾尝试使用HTML5 DND,但性能有问题。它运行良好,但会生成奇怪的HitTests(在chrome中) 理想情况下,我想用mousedown+mousemove制作 我对这个问题做了一个简单的演示Javascript 带有子Iframe的鼠标事件,javascript,html,mouseevent,Javascript,Html,Mouseevent,我对mousemove(以及其他任何类型的鼠标事件)和子iframe有问题 当我单击iframe,然后将鼠标拖动到主框架上时,主框架的mousemove事件根本不会触发 我尝试将事件冒泡到父级(但这样我无法获取event.target) 我曾尝试使用HTML5 DND,但性能有问题。它运行良好,但会生成奇怪的HitTests(在chrome中) 理想情况下,我想用mousedown+mousemove制作 我对这个问题做了一个简单的演示 这就解决了问题 var frame = document
这就解决了问题
var frame = document.getElementById("frame");
var frameBody = frame.contentDocument.documentElement.getElementsByTagName("body")[0];
frameBody.innerHTML = "CLICK HERE AND DRAG OVER THE BOXES TO SEE THE PROBLEM. Why parent's listener makes nothing?";
frame.contentDocument.addEventListener("mousedown", function(e) {
console.log("frame mousedown");
})
document.addEventListener("mousemove", function(event) {
// I need it working here with all event properties like event.target of the main fame
console.log("main move");
var resultBox = document.getElementById("result");
if (event.target.id) resultBox.innerHTML = event.target.id;
})
frame.contentDocument.addEventListener("mousedown", function(e) {
e.preventDefault();
console.log("frame mousedown");
})