首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -当鼠标不超过两个对象时,触发“鼠标保存”事件

问jQuery -当鼠标不超过两个对象时,触发“鼠标保存”事件
EN

Stack Overflow用户
提问于 2013-09-03 08:10:07
回答 3查看 2.4K关注 0票数 2

如何启动jQuery的

代码语言:javascript
复制
mouseleave

当鼠标不在elementA和elementB上时发生的事件?

有关更好的理解,请参见示例这里。

在containerC中包装这两个元素并从其中触发事件不是一个选项,因为我在两个不同的表单元格中有elementA和elementB。

我不是在尝试进行多元素选择(,)。我试着模仿逻辑和(&)。如前所述,当鼠标既不在elementA上也不在elementB上时,必须触发该事件.

我希望你能理解我的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-03 08:15:14

当鼠标进入任何一个元素时,这将添加一个类mouse_over。然后,当检测到mouse_over时,它将检查是否没有mouseleave元素。setTimeout需要允许鼠标在鼠标闪存之前开火,并且可能需要额外的调整以消除竞赛条件。

工频

代码语言:javascript
复制
$('.myDiv, .myDiv1').mouseenter(function () {
    $(this).addClass('mouse_over')
})
$('.myDiv, .myDiv1').mouseleave(function () {
    $this = $(this)
    timeoutId = setTimeout(function () {
        $this.removeClass('mouse_over')
        if ($('.mouse_over').length == 0) {
            console.log('not_in_either');
        }
    }, 1);
});
票数 3
EN

Stack Overflow用户

发布于 2013-09-03 08:17:53

作为变体设置类,例如在鼠标时“悬浮”到div,在鼠标保存时将其移除。

然后创建函数,检查elementA和elementB没有“悬浮”类,如果两者都是真的话-做任何事情。将此函数绑定到elementA和elementB mouseleave事件。

票数 0
EN

Stack Overflow用户

发布于 2013-09-03 08:18:19

嗯,我已经更新了你的演示,它应该在按钮上工作,点击,你可以根据你的要求进行更改。

这里是演示

代码语言:javascript
复制
$('.myDiv').mouseleave(function(){ console.log('out'); });
         $('input').click(function(){
              alert('a');
              $('.myDiv').trigger('mouseleave');
         });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18587164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档