我想创建一个带有onclick事件处理程序的div,比如
element.innerHTML = '<div onclick="somefunction(e, 10)"></div>';
其中e是事件对象,10是其他随机参数。我似乎找不到办法做到这一点。有可能吗?
请注意,我不想创建然后将子元素分别附加到父元素。
答案 0 :(得分:2)
对于像这样的内联处理程序,你应该能够直接传递event
对象,如果你拼写完全而不是e
(在你的实际函数定义中,你可以调用相应的参数等):
element.innerHTML = '<div onclick="somefunction(event, 10)"></div>';
对于其他事件注册技术,还有其他方法可以访问事件对象,但内联是一种特殊情况,在所有浏览器中应该是相同的。
有关详细信息,请参阅此页:http://www.quirksmode.org/js/events_access.html