如何判断鼠标是否在DIV的区域内
今天研究了一下这个问题,也普及了一下知识吧。
方法一:
通过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(鼠标位置的元素对象))
具体情况还是要根据自己需要来选择,我是调试了一下方法三,但是具体也没使用上。 其他方法,继续研究中。
相关推荐
-
js实现的点击div区域外隐藏div区域
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根. 阻止冒泡:1.stopPropagation()对于非IE浏览器.2.cancelBubble属性为true,对于IE浏览器, 而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation(); <!DOCTYPE html> <html> <head>
-
window.print打印指定div指定网页指定区域的方法
第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下: <style media=print type="text/css"> .noprint{visibility:hidden} </style> 要打印的内容.哈哈! <p class="noprint">将不打印的代码放在这里.</p> <a href="javascript:
-
javascript 设置某DIV区域内的checkbox复选框
<!--HTML代码片段如下: --> 复制代码 代码如下: <div id="div1"> <input type="checkbox" onclick="selectCheckBoxes('div1', this.checked)" />全选<br/> <input type="checkbox" /><br/> <input type=&quo
-
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
本文实例讲述了jquery实现点击其他区域时隐藏下拉div和遮罩层的方法.分享给大家供大家参考,具体如下: 为了更好的用户体验,在做下拉获取其他有弹出层的时候,当展开下拉时,要做到点击其他区域也能自动隐藏收起下拉和遮罩层,这样的效果用一段js就可以了. 以下图为例的一个下拉菜单为参考: 效果实现源码: $(document).bind('click', function(e) { var e = e || window.event; //浏览器兼容性 var elem = e.target ||
-
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>js</title> <script src="http://code.jquery.com/jquery-
-
jquery使整个div区域可以点击的方法
本文实例讲述了jquery使整个div区域可以点击的方法.分享给大家供大家参考.具体分析如下: 这里实现可以让用户点击整个div区域,这段代码会自动查找div里的链接 $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; }); Reference HTML: <div class="myBox&quo
-
DIV外区域Click后关闭DIV的实现代码
阻止冒泡:1.stopPropagation()对于非IE浏览器.2.cancelBubble属性为true,对于IE浏览器, 而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation(); 复制代码 代码如下: <style> body { background:black; } #myDiv { background: #fff; width:250px; height:250px; display:none; } </style> &
-
如何判断鼠标是否在DIV的区域内
今天研究了一下这个问题,也普及了一下知识吧. 方法一: 通过mouseover,mouseout来触发事件,才判断鼠标是否在该区域. 但是这种方法的局限性就是,必须要触发mouseover,或mouseout,mouseleave事件才能知道. 复制代码 代码如下: function chkIn() { div_1.innerText = "现在你把鼠标移入层了!"; div_1.style.font = "normal black"; } funct
-
php+mongodb判断坐标是否在指定多边形区域内的实例
MongoDB是一个基于分布式文件存储的数据库,并提供创建基于地理空间的索引的能力,本文将提供使用PHP连接mongodb,判断坐标是否在指定多边形区域内的实例. 1.定义多边形区域 多边形的坐标点如下: 113.314882,23.163055 113.355845,23.167042 113.370289,23.149564 113.356779,23.129758 113.338238,23.13913 113.330979,23.124706 113.313588,23.140858 1
-
js判断鼠标位置是否在某个div中的方法
本文实例讲述了js判断鼠标位置是否在某个div中的方法.分享给大家供大家参考,具体如下: div的onmouseout事件让div消失时,会出现这样的情况,就是当鼠标移至div中的其它内容时,此时也判定为离开div,会触发 onmouseout事件,这样div中的内容就不能操作了.解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠 标并没有离开div,就不删除div,否则,删除之.OK,现在问题解决了. 就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在
-
利用mongodb查询某坐标是否在规定多边形区域内的方法
前言 大家都知道MongoDB是一个基于分布式文件存储的数据库,并提供创建基于地理空间的索引的能力,本文将使用MongoDB 基于地理空间索引进行坐标所在区域的判断及使用. 1.使用百度拾取坐标工具,在地图上定义多边形的坐标点,并把每个点的坐标保存. 百度拾取坐标工具:http://api.map.baidu.com/lbsapi/getpoint/ 多边形的坐标点如下: 113.314882,23.163055 113.355845,23.167042 113.370289,23.149564
-
JS用斜率判断鼠标进入DIV四个方向的方法
网上大部分判断鼠标移入div移入移出都是使用一下方法: 这个方法确实十分奇特,使用起来十分方便. 后来自己看了一些文章,看到有另一种以斜率的方法来判断鼠标的移动方向. 上图是此方法的示意图,以浏览器左上角做原点,水平轴作为x轴,往右为正:竖直轴作为y轴,向上为正. 中间的div的左上角坐标(x1,y1),右下角坐标(x2,y2),中心点的坐标(x0,y0). 设如图两点的斜率为k(k<0),关于x轴对称的斜率为-k. 另外鼠标刚移入时,鼠标的坐标设为(x,y): window.onload =
-
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
一.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢? 首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种比较方便的方法: 第一种方法,利用圆和反正切三角函数 如下图所示: 以div容器的中心点作为圆心,以高和宽的最小值作为直径画圆,将圆以[π/4,3π/4),[3π/4,5π/4),[5π/4,7π/4),[-π/4,π/4)划分为四个象限. 代码如下: $(".box").on(&quo
-
利用JS判断鼠标移入元素的方向
最终效果 这里的关键主要是判断鼠标是从哪个方向进入和离开的 $("li").on("mouseenter mouseleave",function(e) { var w = this.offsetWidth; var h = this.offsetHeight; var x = e.pageX - this.getBoundingClientRect().left - w/2; var y = e.pageY - this.getBoundingClientRect
-
JS+CSS实现感应鼠标渐变显示DIV层的方法
本文实例讲述了JS+CSS实现感应鼠标渐变显示DIV层的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/
-
JS判断鼠标从什么方向进入一个容器实例说明
偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方法,是基于jquery的,说实话,其中的var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;这句用到的数学知识我是真没有看明白,原文中有一些英文注释我就不一一说明了.代码部分不是
-
javascript实现判断鼠标的状态
javascript实现判断鼠标的状态 <script> function dclick() { form1.text.value = "您双击了页面!"; } function Click() { form1.text.value += "您单击了页面"; } function down() { form1.text.value = "您按下了鼠标"; } function up() { form1.text.value = &qu
随机推荐
- PowerShell 语音计算器实现代码
- 在React框架中实现一些AngularJS中ng指令的例子
- AngularJS基础 ng-list 指令详解及示例代码
- ZF框架实现发送邮件的方法
- 为动网论坛添加一个密码嗅探器(DVBBS)
- 详解Django缓存处理中Vary头部的使用
- C# Winform 禁止用户调整ListView的列宽
- ThinkPHP中处理表单中的注意事项
- Javascript原型链和原型的一个误区
- 用函数式编程技术编写优美的 JavaScript_ibm
- 浅谈JavaScript中Date(日期对象),Math对象
- Java实现将数字日期翻译成英文单词的工具类实例
- c语言中用位运算实现加法技巧介绍
- SQL Server 服务器优化技巧浅谈
- jQuery 美元符冲突的解决方法
- IE与FireFox的兼容性问题分析
- C++实现正态随机分布的方法
- 美化Google Adsense广告的方法
- 学习二维动态数组指针做矩阵运算的方法
- Python面向对象实现一个对象调用另一个对象操作示例