小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

JScript中的事件函數(shù)

 duduwolf 2005-09-20
JScript/JavaScript的參考文檔甚少,也不是很詳細,很多語法也是一知半解,今天在寫事件函數(shù)時碰到了一個問題,現(xiàn)討論如下。
  眾所周知,在處理HTML元素的事件時可以有多種方法寫代碼:
1、直接寫在HTML元素的on???屬性中,如:
<INPUT TYPE="BUTTON" ONCLICK="alert(‘Clicked!‘)" VALUE="Click Me!">
<INPUT TYPE="BUTTON" ONCLICK="alerter()" VALUE="Click Me!">
這里alerter()是一個寫好的JScript函數(shù)。
2、使用HTML元素對象的事件屬性,如:
<INPUT ID="button1" TYPE="BUTTON" VALUE="Click Me!">
<SCRIPT LANGUAGE="JavaScript"> 
button1.onclick 
= alerter 
function alerter() 

    window.alert(
"You clicked the button!"
}
 
</SCRIPT>
3、使用<SCRIPT FOR>,如:
<INPUT ID="button1" TYPE="BUTTON" VALUE="Click Me!">
<SCRIPT FOR="button1" EVENT="onclick" LANGUAGE="JavaScript"> 
    alert(
"You clicked the button!"
</SCRIPT> 
4、使用attachEvent函數(shù),如:
<INPUT ID="button1" TYPE="BUTTON" VALUE="Click Me!">
<SCRIPT LANGUAGE="JavaScript"> 
button1.attachEvent(
"onclick", alerter)
function alerter()

    window.alert(
"You clicked the button!")
}
 
</SCRIPT>

  常用的是第1、2種方法,但有些時候使用第2種方法還是比較合適,比如寫body.onload時,不一定方便把onLoad屬性寫在<body>元素內。特別是ASP.Net中編寫Web用戶控件(.ascx)時,它并沒有<body>元素。于是我寫了下面的腳本:
window.onload=alert("Load!");
很高興地發(fā)現(xiàn)它也能夠運行,也沒有出錯。但是很奇怪,它的下一條語句總是不會執(zhí)行,比如接著還有一條alert("Hi");打開網頁后只會看到一個提示“Load!”的對話框,不會出現(xiàn)“Hi”。而且照理應該先出現(xiàn)“Hi”,再出現(xiàn)“Load”的。
  原來按照方法2的寫法,事件函數(shù)是不能帶參數(shù)的!只能寫成window.onload=funcname;的形式,而如果想帶參數(shù)地調用一個或多個函數(shù),可以把這些語句寫到一個函數(shù)內。也可以寫成:
window.onload=function(){alert("Load!");};
這樣相當于產生一個匿名函數(shù)。而按原來的寫法在window.onload語句時已經錯了,自然不會再執(zhí)行下面的語句了。
  看來想問題還是要謹慎,不能想當然。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多