在代碼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