js 怎么获得鼠标在当前div中的位置

JavaScript029

js 怎么获得鼠标在当前div中的位置,第1张

把div设置成相对定位或绝对定位,总之是让其拥有left,top值,

当鼠标移进div的时候获取鼠标的坐标,

用鼠标的left减去div的left值就是鼠标在div里面的left值,即鼠标在div中的x坐标,

同理,

用鼠标的top值减去div的top值就是鼠标在div里面的top值,即鼠标在div中的y坐标

这样我们就获取了鼠标在div中的位置了

稍等上代码!!

<html>

<head>

<script type="text/javascript">

function show_coords(event){

 var x = event.clientX

 var y = event.clientY

 var say = document.all("coords")

 say.innerHTML = "X:"+x+" Y:"+y

 say.style.position = "absolute"

 say.style.left = x + 30

 say.style.top = y

}

</script>

</head>

<body onmousemove="show_coords(event)">

<p id="coords"></p>

</body>

<html>

希望我的回答对你有用,有用就采纳!!!谢谢!

现在我有个窗口坐标X,Y. 如何利用JS点击该坐标?

https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createEvent

遍历dom元素,记录每个元素的坐标,找到离(x,y)最近的且z-index最大一个元素,模拟这个dom元素的点击

https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent

其中,

initMouseEvent 方法用于初始化通过 DocumentEvent 接口创建的 MouseEvent 的值。此方法只能在通过dispatchEvent 方法指派 MouseEvent 之前调用,尽管在该阶段可以多次调用它(如有必要)。如果被多次调用,则最后一次调用优先。

参数:

document.createEvent用于创建事件,在DOM Level 2 的事件中就有HTMLEvents,MouseEvents,UIEvents事件类型。DOM Level 3增加很多事件类型,个人觉得其中最有用的是CustomEvent自定义事件。

有效的事件类型列表:

http://www.w3school.com.cn/xmldom/met_document_createevent.asp#eventType

为DOM元素创建自定义事件的步骤为:

一、创建事件:var ev = document.createEvent('CustomEvent')

二、初始化事件:ev.initCustomEvent('自定义事件名称', false(是否允许冒泡), false(是否允许中断),args)

三、为DOM添加事件监听:element.addEventListener('自定义事件名称',fn,false)

四、分发(触发)自定义事件:element.dispatchEvent(ev)