jQuery ??? ? ??? ??
?? ???? ??? ? ?? ???? ??? ???????.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>javascript中的事件</title> <script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script> <script type="text/javascript"> $(function() { document.getElementById("testDiv2").onclick = showMsg; }) function showMsg(event) { alert("!!!"); } </script></head><body> <div id="testDiv1" onclick="showMsg();">單擊事件 1</div> <div id="testDiv2">單擊事件 2</div> </body> </html>
???? ???? ?? ?? ?? onclick ?? ??? ??? ?????.
testDiv2? onclick ???? ???? ??? Dom ??? ???? ????.
1???? ?? ??? Dom ??? ???? ??????. ? ? ?? ??? ??? ?????. div? ???? ???? ??? ?????.
??? ????? ?????.
document.getElementById("testDiv2").onclick = showMsg;
? ??? ?????:
<div id="testDiv1" onclick="alert("!!!");">單擊事件 1</div>
??? ????? ?? ??? ???? ???? ???? ??? ??? ?? ??? ???? ??? ??? ????.
document.getElementById("testDiv1").onclick = function(event) { alert("!!!"); };
? ?? ??? ??? ??? ????. ??? ? showMsg? ?????. ??? showMsg? onclick? ?? ??? ? ????. ? ??? ??? ??? ????.
1. "=" ??? ???? ???? ???? ? ????. ?? ???? ???? ?? ??? ?? ??? ??????.
2. ??? ??(?? ???? ??? ????)?? ??? ??? ?? ??? ?? ?????? ??? ??? ?????. IE, ??? ??? window ??? ?????. ??? ???? ??? ?? ??? ??? ????? ???.
obj.onclick=function() { var oEvent = window.event; }
DOM ????? ??? ??? ??? ????? ??? ???? ????? ???.
obj.onclick=function() { var oEvent = arguments[0]; }
? ????? ????? ?? ??[0]? ???? ? ??? ???? ??? ??? ?? ????. ? ??? ??? ????.
obj.onclick=function(oEvent) { }
?? DOM ?? ?????? Firefox, Safari, Opera, IE7 ?? ?????.
3 . ????? ??? ???? ??? ?????? ????.
??? "Javascript ?? ???? ????? ???(2): ??? ????? ?? ??" ???? ???? ?? ????? ???? ????? ??? ???? ?????. Delegation":
//統(tǒng)一的為對象添加多播事件委托的方法 /* 參數(shù)說明: oTarget : 要添加事件的對象.比如"document". sEventType : 事件類型.比如單擊事件"click". fnHandler : 發(fā)生事件時調(diào)用的方法. 比如一個靜態(tài)函數(shù)"hideCalendar"
?? ?:
//單擊頁面的任何元素,只要沒有取消冒泡,都可以關(guān)閉日歷控件 var cf = document.getElementById("CalFrame"); if( cf != null && hideCalendar != null ) { ScriptHelper.addEventListener( document, "click", hideCalendar ); } */ scriptHelper.prototype.addEventListener = function(oTarget, sEventType, fnHandler) { if( oTarget.addEventListener )//for dom { oTarget.addEventListener( sEventType, fnHandler, false ) } else if( oTarget.attachEvent )//for ie { oTarget.attachEvent( "on" + sEventType, fnHandler); } }???? ?? <div onclick="..."></div>? ?? ?? ??? ???? ???? ???? ??? ??? ???. ????? ??? ???? ???? ?? ??? ???? ??? ???? ???? ???. ?? ?? ?? ??? ?? ???? ?? ?? ???? ?? ???? ???? ?????? ???? ?? ???? ??? ?? ????. ?? ??? ?? ?????.