2011-11-01 81 views
0

设置事件我想创建一个onclick事件处理一个div像获取事件对象通过串

element.innerHTML = '<div onclick="somefunction(e, 10)"></div>'; 

其中e是事件对象和10是其他一些随机的说法。我似乎无法找到办法做到这一点。可能吗?

请注意,我不想创建,然后将子项分别追加到父元素。

+0

号退出那些肮脏的在线JavaScript的黑客。 – Raynos

+0

是(见答案)。做什么最适合你的情况。 – RobG

回答

2

用于在线处理程序一样,你应该能够直接通过event对象,如果你拼写出完整的,而不是e(在实际函数的定义,你可以叫你喜欢的相应参数的任何东西):

element.innerHTML = '<div onclick="somefunction(event, 10)"></div>'; 

对于其他事件注册技术,还有其他方法可以访问事件对象,但内联是一种特殊情况,应该在所有浏览器中都是相同的。

有关更多详细信息请参阅本页面:http://www.quirksmode.org/js/events_access.html

+0

这是因为在符合Netscape的事件模型(如Mozilla和Firefox)的浏览器中,* event *解析为处理程序的事件对象。在其他浏览器(如IE)*事件*解析为全局* window.event *对象,这本质上是一回事。 – RobG