JavaScript 获取鼠标点击位置坐标
今天又有新的需求了,需要获取鼠标点击相对于浏览器窗口的位置,于是就要开始想办法咯。
查了教程,结果发现自己果然是文盲。
其实是很简单的,这里要说的事情有两点,第一点是关于怎么实现,第二点是关于event。
1function getMousePos(event) {
2 var e = event || window.event;
3 console.log('x=' + e.clientY);
4 console.log('y=' + e.clientX);
5}
6
这个函数就可以得出相对于窗口的坐标。以前在写某个函数的时候也用到了event
以及类似于event || window.event
的形式,主要是为了兼容各个浏览器。
然后呢……event是什么呢!!我忘记了啊!!关于event,师匠发来的链接:https://developer.mozilla.org/en-US/docs/Web/API/Event
可是我不想看英文啊!!结果就没鸟这个链接,先mark一下吧。
其实吧,在进行各种事件触发的时候,有个参数传入,就是这里的event。比如element.onclick = function()
,function中可加入一形参event
,将它传入函数即可。
那么接下来问题又来了,怎么能让文档被点击就执行该事件?
document.onclick
经过测试在IE下并不可用。用body吗?body的大小又不确定。在这里,我们使用document.documentElement
其实就能搞定了:
1document.documentElement.onclick = function(e) {
2 getMousePos(e);
3};
4
最终,把他转成jQuery,其实就是转换对象和转换click表现方式的事情,虽然我觉得多此一举,但是要求如此,╮( ̄▽ ̄")╭:
1$(document.documentElement).click(function(e) {
2 getMousePos(e);
3});
4
忘了附上链接,这里还有各种获取鼠标位置【相对屏幕、相对浏览器、相对文档】:http://www.cnblogs.com/dolphinX/archive/2012/10/09/2717119.html
评论 (0)