<script language="JavaScript">
function OnKeyUp(_e) // 釋放按鍵事件處理程序
{
var e = _e?_e:window.event; // 獲取有效的事件對象 ,?:是二元運算符,等價於 || 運算符
if( event.keyCode == 13 ) // 按下的是否是回車鍵
{
alert( "您輸入的內容是:"+Text1.value ); // 將文本框中的內容顯示在消息框中
}
}
</script>
<input id="Text1" type="text" onkeyup="OnKeyUp()">
這里的var e = _e?_e:window.event; // 獲取有效的事件對象,這一句,是不是有沒有都可以,我把這一名刪除了,效果還是一樣的,如果有用的話這一句是什么作用呢???
這句話的目的是照顧到瀏覽器的兼容性,不同的瀏覽器解釋js代碼的方式不同,這句話將觸發的事件對象賦予e這個變量,在ie中事件對象定義為window.event,
而在其他一些瀏覽器,該對象需要作為參數傳入,即_e,傳入的時候傳event,見下面的代碼。
你去掉這句話在ie下依然可以的原因是 event == window.event,所有對象都是window對象的屬性,所以加不加window瀏覽器都能認出來。
但是這段代碼放到firefox下就無法正常執行。 並且你的代碼寫的也有問題,判斷按下的是否回車鍵那句應當使用e這個變量而不是event,
正確的應該是:
<script language="JavaScript">
function OnKeyUp(_e) // 釋放按鍵事件處理程序
{ var e = _e?_e:window.event; // 獲取有效的事件對象 if( e.keyCode == 13 ) // 按下的是否是回車鍵
{ alert( "您輸入的內容是:"+document.getElementByIdx('Text1').value ); } }
</script>
<input id="Text1" type="text" onkeyup="OnKeyUp(event)">