如何仅通过指定触发事件的坐标来获取 html 控件的 id(例如onmousedown
, onmouseup
, onclick
, ETC..)。坐标可以通过以下方式获得:
e.clientX
, e.clientY
其中 e 是事件对象。
这个想法是获取在其上完成单击事件的控件的ID,而无需任何onClick
该控件定义中的事件。
这将免除指定的需要onClick
多个控件的事件。
我不认为这是可能的,但幸运的是(如果我正确理解您的要求)您不需要:
如果您想获取用户单击的 HTML 元素,而不在每个元素上指定单击事件处理程序,只需在顶级元素(包含所有其他有趣元素 - 甚至可能是“文档”)上指定单击处理程序,然后查看 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 元素的警报:-)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)