javascript - 仅对父 div 元素调用一次 javascript 事件

标签 javascript html

我正在尝试调用父 div 上的 onmouseout 事件。

尽管一旦光标移出父 div 就会调用函数 outofdiv

但是当光标在不同的子 div 之间移动时,函数再次被调用,这是我不希望发生的情况

请建议仅使用javascript的任何方法

 <div id="maze"  onmouseout="outofdiv();">

            <div id="start" onClick="start();">S</div>
            <div class="boundary"></div>
            <div class="boundary"></div>
            <div class="boundary"></div>
            <div class="boundary"></div>
            <div class="boundary"></div>
            <div id="end" onClick="end();">E</div>
</div>


function outofdiv(){
alert("something")

最佳答案

这称为事件冒泡。 onmouseout 事件由子 div 元素触发,并通过其 DOM 层次结构向上冒泡,在本例中到达父 divonmouseout 事件处理程序。

您可以使用event.targetevent.currentTarget确定事件是否已冒泡。

放置

if (event.target!=event.currentTarget) return;

作为 outofdiv 函数的第一行。如果父 div 不是 onmouseout 事件的发起者,这会阻止函数继续。

关于javascript - 仅对父 div 元素调用一次 javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378325/

相关文章:

javascript - React - componentDidMount API 调用未获取数据?

php - 国家/地区的动态 PHP 下拉菜单

html - 如果 <form> 标签没有 name 属性(并且表单中的子 &lt;input&gt; 元素确实有 name 属性),是否提交表单?

javascript - Coffeescript one liner 用于创建具有可变键的 hashmap

javascript - 如何使用 Underscore.js 转换/混淆对象中的每个值

javascript - jQuery Sortable 防止用户将子项目移动到父项目

javascript - Ctrl+Q 工具提示中缺少回调参数文档

javascript - 动态重定向到主视图中的 div 中的另一个 View

html - css 旋转后元素占据完整高度

jquery - Bootstrap 按钮按键不适用于 'Enter' 键