如何判断鼠标是否在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 相关文章推荐
用CSS+JS实现的进度条效果效果
Jun 05 Javascript
jQuery实现点击该行即可删除HTML表格行
Oct 17 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
JavaScript里实用的原生API汇总
May 14 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
微信小程序的开发范式BeautyWe.js入门详解
Jul 10 Javascript
构建大型 Vue.js 项目的10条建议(小结)
Nov 14 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
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
php unlink()函数使用教程
2018/07/12 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
学习jquery之一
2007/04/27 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
Linux的主要特性
2016/09/03 面试题
项目合作计划书
2014/01/09 职场文书
社区交通安全实施方案
2014/03/22 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS