在代码HTML +下面脚本,如何将参数传递给使用javascript附加的事件处理程序?
- 事件处理程序页面加载使用
setAttribute(...)
后附接。 - 事件hander传递一个动态读取的参数。
- 的事件处理程序成功地连接(通过
getAttribute(...)
验证然而,该处理不火。
什么是错的下面?
<HTML>
<BODY onload="loader();">
<table>
<tbody>
<tr>
<td id="myId">FirstColumn</td>
<td id="otherId">SecondColumn</td>
<td id="lastId">Balderdash</td>
</tr>
</tbody>
</table>
</BODY>
<script language="javascript">
function loader(){
document.getElementById('myId').setAttribute('onmouseover','showMessage("'+document.getElementById('otherId').innerHTML+'");');
alert(document.getElementById('myId').getAttribute('onmouseover'));
document.getElementById('myId').setAttribute('onmouseout','alert(\"'+document.getElementById('otherId').innerHTML+'\");');
alert(document.getElementById('myId').getAttribute('onmouseout'));
document.getElementById('lastId').setAttribute('onmouseout','alert("hohoho");');
alert(document.getElementById('lastId').getAttribute('onmouseout'));
function showMessage(aMessage){
alert(aMessage);
}
</script>
</HTML>
不,在非IE浏览器中,您的事件处理函数将传递一个事件对象,这可能非常有用。在IE中,你必须通过window.event访问事件。例如:el.onmouseover = function(evt){evt = evt || window.event;/*做事件对象* /}; – 2009-10-02 08:48:34
Ty(+:那很有用 目前我们只是在浏览IE,尽管 – Everyone 2009-10-11 18:31:00