2

我有类似的东西:

<div onclick="doSomething('foo', 'bar');"></div>

如您所见,事件没有传递给处理程序。无论如何都可以在处理程序内部访问它吗?

4

1 回答 1

4

如您所见,事件没有传递给处理程序。无论如何都可以在处理程序内部访问它吗?

不。

完成此操作的最佳方法是向您的 div 添加一个 id,并从脚本设置事件处理。

这应该做你正在寻找的

<div id='myDiv'></div>

接着

function doSomething(evt, str1, str2) { ... }

document.getElementById('myDiv').onclick = function(e) {

    doSomething(e, 'foo', 'bar');

};

只需确保包含上述内容的脚本标签位于 body 标签的底部,这样脚本在创建并准备好 dom 之前不会运行。

于 2012-12-13T17:39:51.333 回答