我有一个延迟执行的函数,它绑定了一个mouseenter事件:
$(window).load(function(e) {
var $container = $('.container');
$container.mouseenter(function(e) {
//do something
});
...
});
问题在于当load事件触发时,鼠标可能已经悬停在元素上,因此在绑定mouseenter事件之前。我可以通过在页面加载处理程序的末尾放置一些代码来解决这个问题,进行一次检查以确定鼠标是否在元素内部,并手动触发mouseenter事件。
// check if the mouse is inside $container
if(mouse is inside $container)
$container.mouseenter();
在load事件中,我如何检查鼠标是否悬停在元素上?
我尝试了$container.is(':hover')
,但它不起作用。
$container.is(':hover')
- 这种方式有什么问题吗?我的担忧是它不是特别兼容(例如在IE7中无法工作,因为它依赖于qSA行为),但在我看来它似乎可以实现你想要的功能... - lonesomeday