作家
登录

用javascript获取当页面上鼠标光标位置和触发事件的对象的代码

作者: 来源:www.28hudong.com 2013-03-30 02:04:05 阅读 我要评论

用javascript获取鼠标位置: 复制代码 代码如下: function mousePosition(ev) { if (ev.pageX || ev.pageY) { return { x: ev.pageX, y: ev.pageY }; } return { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop }; } document.onmousemove = mouseMove; function mouseMove(ev){ ev = ev || window.event; var mousePos = mousePosition(ev); } 关于代码的详细说明,原文中已经介绍,现转到此处: 我们首先要声明一个 evnet 对象,无论移动、点击、按键等,都会激活一个 evnet ,在 Internet Explorer 里, event 是全局变量,会被存储在 window.event 里. 在 firefox 或者其他浏览器,event 会被相应的函数获取.当我们将mouseMove函数赋值于document.onmousemove,mouseMove 会获取鼠标移动事件。 为了让 ev 在所有浏览器下获取了 event 事件,在Firefox下"||window.event"将不起作用,因为ev已经有了赋值。在 MSIE 中 ev 为空,所以得到 window.event 。 因为在这篇文章中我们需要多次获取鼠标位置,所以我们设计了一个 mousePosition 函数,它包含一个参数 : event 。 因为我们要在 MSIE 和其他浏览器下运行,Firefox 和其他浏览器用 event.pageX 和 event.pageY 来表示鼠标相对于文档的位置,如果你有一个 500*500 的窗口并且你的鼠标在绝对中间,那么 pageX 和 pageY 的值都是 250,如果你向下滚动 500, 那么 pageY 将变成 750。 MSIE 正好相反,它使用 event.clientX 和 event.clientY 表示鼠标相当于窗口的位置,而不是文档。在同样的例子中,如果你向下滚动500,clientY 依然是 250,因此,我们需要添加 scrollLeft 和 scrollTop 这两个相对于文档的属性。最后,MSIE 中文档并不是从 0,0 开始,而是通常有一个小的边框(通常是 2 象素),边框的大小定义在 document.body.clientLeft 和 clientTop 中,我们也把这些加进去。 很幸运,我们现在已经用 mousePosition 函数解决了坐标问题,不需为此费心了。 用javascript获取触发事件的对象 复制代码 代码如下: <script language = "javascript" > document.onclick = onClick; function onClick(ev) { ev = ev || window.event; // 事件 var target = ev.target || ev.srcElement; // 获得事件源 /* target.getAttribute()是获取该事件源对像里面的一些属性。 比如对像中有(name,id,type等等);*/ var dragObj = target.getAttribute('id'); alert(dragObj); } </ script > 关键还是event对象在多浏览器下的兼容性,和上面方式是一样的,这里代码就不做说明了

  推荐阅读

  js 加载并解析XML字符串的代码

JS加载xml文档实例books.xml复制代码 代码如下:<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="children"> <title lang="en">www.jb51.net</title> <author>J K. Rowling</author> <ye>>>详细阅读


本文标题:用javascript获取当页面上鼠标光标位置和触发事件的对象的代码

地址:http://www.17bianji.com/kaifa2/JS/27517.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)