Javascript=AddEventlistener仅在Chrome上工作
我想使用一个监听器,当鼠标离开屏幕时触发一个函数。我正在使用以下代码:Javascript=AddEventlistener仅在Chrome上工作,javascript,addeventlistener,Javascript,Addeventlistener,我想使用一个监听器,当鼠标离开屏幕时触发一个函数。我正在使用以下代码: content = 'blabla'; document.addEventListener("mouseleave", function(){ display_exit(content); }); function display_exit(content) { console.log(content); } 当我在Chrome上执行这段代码时,它可以在Firefox或Explorer/Edge上运行,而不会发生任何事情
content = 'blabla';
document.addEventListener("mouseleave", function(){ display_exit(content); });
function display_exit(content)
{ console.log(content); }
当我在Chrome上执行这段代码时,它可以在Firefox或Explorer/Edge上运行,而不会发生任何事情
在我的语法中,Chrome是宽容的,而不是其他的吗
谢谢
Laurent事件仅为类型的节点,不适用于节点或:
类型鼠标删除
可信目标元素
您可以将侦听器附加到documentElement
,它将工作:
document.documentElement.addEventListener("mouseout", ...);
此外,确保文档(html
元素)具有100%的高度,否则,根据文档元素中可能没有输入的内容,可能无法触发请假
看这把小提琴:
根据规范,我认为这是Chrome中的一个缺陷,允许将事件侦听器附加到文档本身。事件只是类型的节点,而不是节点或:
类型鼠标删除
可信目标元素
您可以将侦听器附加到documentElement
,它将工作:
document.documentElement.addEventListener("mouseout", ...);
此外,确保文档(html
元素)具有100%的高度,否则,根据文档元素中可能没有输入的内容,可能无法触发请假
看这把小提琴:
根据规范,我认为这是Chrome中的一个bug,允许将事件监听器附加到文档本身。“mouseleave”事件由元素
对象触发,不会冒泡。文档(document
)不是元素
,因此将事件侦听器附加到文档上没有任何效果,因为这两个因素的组合
这与Firefox无关。在本例中,它是由Web标准机构W3C设计的。如果说有什么区别的话,Firefox遵守了规范,这显然是Chrome不能说的
在使用该技术之前,请务必查阅权威参考资料,并质疑您自己认为错误的行为:(MDN,以及其他人,将其用作源)
您的解决方案是修改代码,考虑您是否可以使用事件侦听器,或者将事件侦听器附加到要侦听“mouseleave”事件的元素,包括document.documentElement
元素(如果适用)。“mouseleave”事件由element
对象触发,并且不冒泡。文档(document
)不是元素
,因此将事件侦听器附加到文档上没有任何效果,因为这两个因素的组合
这与Firefox无关。在本例中,它是由Web标准机构W3C设计的。如果说有什么区别的话,Firefox遵守了规范,这显然是Chrome不能说的
在使用该技术之前,请务必查阅权威参考资料,并质疑您自己认为错误的行为:(MDN,以及其他人,将其用作源)
您的解决方案是修改您的代码,考虑您是否可以处理或将事件侦听器附加到您想要侦听“mouseleave”事件的元素,包括
document.documentElement
元素(如果适用)。Andy,您使用的是mouseout
而不是mouseleave
。Andy,你在那里使用了mouseout
,而不是mouseleave
。那太棒了,这正是我需要的。我尝试了mouseout的替代方案,但并没有完全做到我想要的。谢谢太棒了,这正是我需要的。我尝试了mouseout的替代方案,但并没有完全做到我想要的。谢谢