如何判断鼠标是否在DIV的区域内


Posted in Javascript onNovember 13, 2013

今天研究了一下这个问题,也普及了一下知识吧。

方法一:

通过mouseover,mouseout来触发事件,才判断鼠标是否在该区域。 但是这种方法的局限性就是,必须要触发mouseover,或mouseout,mouseleave事件才能知道。

function chkIn()
    {
  div_1.innerText = "现在你把鼠标移入层了!";
  div_1.style.font = "normal black";
 }
   function chkOut()
    {
  div_1.innerText = "现在你把鼠标移出层了!";
  div_1.style.font = "bold red";
 }

<div id="div_1" style="background-color:lightblue; width:400px; height:300px; " 
       onMouseOver="chkIn()" onMouseOut="chkOut()">This is a DIV
  </div>

方法二:
function   checkIn(e){
var   x=window.event.clientX;
var   y=window.event.clientY;
var   str= ' ';
for(i=0;i <document.body.children.length;i++){
            var   obj=document.body.children[i];
          if(x> obj.offsetLeft
                                  &&x <(obj.offsetLeft+obj.clientWidth)
                          &&y> obj.offsetTop
                        &&y <(obj.offsetTop+obj.clientHeight)){
                str+= ' <鼠标位于层 '+obj.id+ '范围之内> \n ';
          }else{
                str+= ' <鼠标位于层 '+obj.id+ '范围之外> \n ';
        }
  }
alert(str);
}
document.onclick=checkIn

方法三:

这个方法是最简单的实用的。

if(myDiv.contains(window.event.srcElement))

即 if(myDiv.contains(鼠标位置的元素对象))

具体情况还是要根据自己需要来选择,我是调试了一下方法三,但是具体也没使用上。 其他方法,继续研究中。

Javascript 相关文章推荐
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
JavaScript打开word文档的实现代码(c#)
Apr 16 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
Oct 26 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
Jul 28 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
Nov 30 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
react 中父组件与子组件双向绑定问题
May 20 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
Vuex模块化应用实践示例
Feb 03 Javascript
HTTP 304错误的详细讲解
Nov 13 #Javascript
js动态修改input输入框的type属性(实现方法解析)
Nov 13 #Javascript
js字母大小写转换实现方法总结
Nov 13 #Javascript
jQuery替换字符串(实例代码)
Nov 13 #Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 #Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
Nov 13 #Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 #Javascript
You might like
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
python操作xml文件示例
2014/04/07 Python
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
浅谈Python协程
2020/06/17 Python
python爬取招聘要求等信息实例
2020/11/20 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
责任胜于能力演讲稿
2014/05/20 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
Python 文字识别
2022/05/11 Python
GPU服务器的多用户配置方法
2022/07/07 Servers