我有一个类似菜单的下拉容器,通过绑定“mouseleave”事件来隐藏。
<div id="container">
<select>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
我遇到的问题是,当我的容器的子元素包含一个 SELECT 对象时,其中 SELECT 的 OPTIONS 物理延伸到容器的边界之外。因此,将鼠标悬停在边界之外的选项上会触发“mouseleave”事件来触发并关闭我的下拉菜单。 SELECT 是容器的子级,因此在本例中我希望 mouseleave 事件能够识别这一点。
Blocka 解决方案的更新,因为它无法在 Firefox 中正常工作:
if ((typeof e.fromElement != 'undefined' && !e.fromElement.length) ||
(typeof e.fromElement == 'undefined' && e.target.tagName != 'SELECT')) {
// perform your mouseleave logic
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)