在这种情况下,我如何获得触发 onclick 的 DOM 元素:
<div onclick="ajax('?section=panel');">Hi</div>
ajax函数是:
function ajax(url)
{
alert(caller_element.innerHTML); // I need `caller_element` contain a reference to that DIV
...xmlhttp(url)...
}
请注意,我无法更改 HTML,我只能更改 ajax()
函数。
最佳答案
您可以使用 Function.prototype.call
来设置函数的上下文,如下所示:
<div onclick="ajax.call(this, '?section=panel');">Hi</div>
function ajax(url) {
alert(this.innerHTML);
...xmlhttp(url)...
}
不过,将它作为参数传递一样容易。
关于javascript - 如何在不传递事件参数的情况下获取触发 "onclick"事件的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7131042/