有时会有很多鼠标悬停事件,并且$(“ *”)选择器可能很昂贵。这会将我的页面放慢到在运行IE6的慢速计算机上爬网的速度吗?
有一个更好的方法吗?我想知道页面上发生的每个鼠标悬停事件。
最佳答案
只需执行$('body')
。这将为<body>
元素分配一个处理程序,并且每个后代元素(因此,页面中的每个元素)都会冒泡它的mouseover事件。在处理程序中,您需要做的就是检查事件的发起方以找到确切的元素:
$('body').mouseover(function(e) {
var sender = e.target;
//sender is the element who was moused over
});
关键是不要在该处理程序内做任何过于繁琐的事情,因为随着用户在页面上移动鼠标,它基本上会不断触发。最好从检查最严格的条件开始,并尽可能早地退出该方法。
关于jquery - 在jQuery中执行$(“*”)。live(“mouseover”,someFun)是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1522917/