如何仅通过指定触发事件的坐标(如 onmousedown
、onmouseup
、onclick
来获取 html 控件的 id , ETC..)。坐标可以通过以下方式获得:
e.clientX
, e.clientY
其中 e 是事件对象。
想法是获取完成点击事件的控件的 ID,而该控件的定义中没有任何 onClick
事件。
这将免除为多个控件指定 onClick
事件的需要。
最佳答案
我不认为这是可能的,但幸运的是(如果我正确理解您的要求)您不需要:
如果您想获取用户点击的 HTML 元素,而不在每个元素上指定点击事件处理程序,只需在顶级元素(包含所有其他有趣元素的元素 - 甚至可能是“document”)上指定点击处理程序"),然后查看 MouseEvent 的 target 属性 - 它将指定最初接收点击的 HTML 元素,而不是您指定 onclick 事件处理程序的元素(这可以简单地通过使用“this”关键字来实现)。
如果您有 Firebug ,请在 StackOverflow 上的 Firebug 控制台中试试这个:
document.getElementById('question').onclick = function(e) {
var target = window.event?window.event.srcElement:e.target;
alert("Got click: " + target);
}
然后单击问题文本的任意位置以获取包含正确 HTML 元素的警报 :-)。
关于javascript - 通过指定坐标检索 html 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590119/