首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主干应用中的HoverIntent

问主干应用中的HoverIntent
EN

Stack Overflow用户
提问于 2013-02-01 11:27:39
回答 2查看 393关注 0票数 0

我想以最简洁的方式在主干活动中使用HoverIntent jQuery插件。

以下是事件(为清晰起见进行了简化):

代码语言:javascript
复制
events:
 'mouseenter'                      : 'onMouseEnter'
 'mouseleave'                      : 'onMouseLeave'

onMouseEnter: ->
  @$('.foo').show()      

 onMouseLeave: ->
  @$('.foo').hide() 

基本上,我不希望当有人在页面上运行鼠标时显示和隐藏赫基-干,所以HoverIntent似乎是可行的。我已经包含在我的项目中了,它已经准备好了……但我不清楚如何在主干视图中正确地调用它。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-01 11:43:14

有一些不同版本的悬浮意图,它们添加了您应该能够在Backbone中使用的自定义事件。看看:https://github.com/LeMisterV/jquery.hoverintent。您应该能够使用mouseenterintent和mouseleaveintent。

票数 1
EN

Stack Overflow用户

发布于 2015-01-08 01:00:31

请注意,accepted中的插件不再维护,并调用折旧的jQuery函数。可以通过在插件的第120行将$.event.handle.call(this.elem, this.event)替换为$.event.dispatch.call(this.elem, this.event)来更新插件以与当前版本的jQuery一起工作。

然而,即使在修补了兼容性问题之后,我也发现插件对于我的目的来说太不灵敏和反应迟钝。相反,我通过使用setTimeout检查包装我的鼠标输入/鼠标离开回调来欺骗悬停意图特性集,以查看元素是否仍然悬停。例如:

代码语言:javascript
复制
function eventCallback(){
    setTimeout(function() {
        if ($(e.target).is(":hover")) {
            //do your code
        }
     }, 100);
}

根据您的喜好调整超时计时器,只有当用户在特定延迟后继续悬停时,该函数才会执行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14639243

复制
相关文章

相似问题

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