今天在做select标签鼠标移出时就自动隐藏的功能,在谷歌下面调试没问题,但是到火狐上调试时发现鼠标下移到option标签时就会触发mouseleave方法,百度了之后找到问题的方法,就是在mouseleave方法中加入一个事件对象,通过判断鼠标移动到的对象是否为null或undefined(移动到option标签上ie下为null,firefox等为undefined)。
代码:
$(xxx).mouseleave(function (e) {
var o = e.relatedTarget || e.toElement;//获取select标签对象,移动到option上谷歌貌似option在mouseleave函数上是与select绑定在一起的不会触发mouseleave事件,ie下是null,firefox等为undefined
if (!o) return; //增加移动到的对象判断,o为null或者undefined时(即移动到option时)return,不执行下面的方法
//执行你的代码
});
本文介绍了一种解决在不同浏览器下select标签的mouseleave事件误触发问题的方法。通过判断鼠标移入的目标元素是否为null或undefined来避免触发。适用于Firefox、IE等浏览器。
2074

被折叠的 条评论
为什么被折叠?



