【问题标题】:Use jQuery trigger() with hoverIntent使用 jQuery trigger() 和 hoverIntent
【发布时间】:2012-08-07 05:26:49
【问题描述】:

是否可以在元素上触发 hoverIntent。

我试过$(elem).trigger('hoverIntent');,但没用。

编辑:Js Fiddle:http://jsfiddle.net/H2p6T/

【问题讨论】:

    标签: javascript jquery hoverintent


    【解决方案1】:

    除非真正触发了 hoverIntent,否则只需触发任何事件类型都不会执行任何操作。

    我查看了 hoverIntent 源,它需要两件事:mouseenter 和 mousemove 并定义了指针坐标。所以我用假坐标触发了事件:

    $('.foo').trigger({ type:"mouseenter", pageX:"123", pageY:"123" });
    $('.foo').trigger({ type:"mousemove", pageX:"123", pageY:"123" });
    

    坐标无关紧要,只要它们彼此足够接近以触发 hoverIntent。

    我为此使用了 r7 版本。

    【讨论】:

      【解决方案2】:

      你试过了吗

      $(elem).trigger('hover');
      

      $(elem).trigger('mouseover');
      $(elem).trigger('mouseout');
      

      $(elem).trigger('mouseenter');
      $(elem).trigger('mouseleave');
      

      hoverIntent 是一个插件而不是实际事件,所以我相信您必须触发一个将 hoverIntent 实际绑定到您的元素的事件

      这是一个使用 mouseenter/mouseleave 的示例

      http://jsfiddle.net/H2p6T/3/

      【讨论】:

      • 这些都不起作用。 HoverIntent 似乎在鼠标在元素内至少 100 毫秒时侦听“mouseenter”,但我认为在特定时间跨度内无法触发事件......?
      • 实际上我不确定.. 如果你可以制作一个 jsfiddle.com,它会更容易测试
      • 好吧,触发这个的实际目的是什么?您是否要将鼠标悬停在您使用 hoverIntent 绑定的元素以外的元素上并触发它?
      • 我想用它在页面加载/调整大小时触发不同元素上的动画...
      • @smilledge 我刚刚在 mouseenter/mouseleave 上添加了一个工作触发器的小提琴。唯一的事情是你必须先点击才能在框内获得焦点
      【解决方案3】:

      你可以这样吗?

      $(elem).hoverIntent();
      

      好吧,那没用……

      我玩过它:http://jsfiddle.net/8CCTM/11/

      hoverIntent 将在 mouseenter() 上触发,但只有在鼠标激活 hoverIntent 元素后才会触发。

      【讨论】:

      • 这很奇怪,它只有在你已经将元素悬停后才起作用......:/
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多