微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Jquery – 为mouseout扩展’perimeter’的技巧?

我想实现这样的行为,当鼠标指针悬停在某个div上时会触发mouSEOver / hover事件,但是当指针离开div时,mouSEOut事件不会触发,但是当它离开10px区域时我们就会触发div .

有没有办法实现这一点,不涉及创建一个更大的父div来绑定mouSEOut事件?

解决方法

我的评论让我感兴趣,看看它是否可能,而且实际上很容易.不知道它在不同的浏览器和大量的div中运行得如何,但它在这个例子中起作用:

http://jsbin.com/exulef/2/edit

var hello = $('#hello');
var position = hello.offset();
var height = hello.height();
var width = hello.width();

$(document).mousemove(function(e) {
  if (hello.data('inside')) {
    if ((e.pageX < position.left - 10 || e.pageX > position.left + width + 10) || 
       (e.pageY < position.top - 10 || e.pageY > position.top + height + 10)) {
      hello.text(position.top + " : " + position.left + " : " + e.pageX + " : " + e.pageY + "  Outside")
        .data('inside',false);
    }
  }
  else {
    if ((e.pageX > position.left && e.pageX < position.left + width) && 
        (e.pageY > position.top && e.pageY < position.top + height)) {
      hello.text(position.top + " : " + position.left + " : " + e.pageX + " : " + e.pageY + "  Inside")
        .data('inside',true);
    }
  }  
});

你好只是一个方形div.很容易变成一个插件,我可能会在以后再做,哈哈.

编辑 – 我最终把它变成了一个插件http://jmonkee.net/wordpress/2011/09/07/jquery-extended-hover-plugin/

原文地址:https://www.jb51.cc/jquery/158840.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐