2,關于event.srcElement[IE]和event.target[Moz]
Mozilla下的e.target相當于ie下的event.srcElement,但細節上有區別,后者是返回一個Html Element
而e.target返回的是個節點,也就是說包括文本節點。
看下面的例子代碼,可以看出兩者的區別和聯系:
IE ONLY
<table border="1" width="50%" nclick="doIt()"> <tr><td>1</td><td>2</td></tr> <tr><td>3</td><td>4</td></tr></table>
<script. language="javascript">
function doIt(){ alert(event.srcElement.tagName); }
</script>
Moz
<table border="1" width="50%" nclick="doIt()"> <tr><td>1</td><td>2</td></tr> <tr><td>3</td><td>4</td></tr></table>
<script. language="javascript">
function doIt(oEvent){
var Target = oEvent.target;
while(oTarget.nodeType != 1)
Target = oTarget.parentNode;
alert(oTarget.tagName);
}
</script>
3,鍵盤值的取得
Mozilla下的event.which與IE下的event.keyCode相當。
見代碼:
IE
<input type="text" nkeypress="doIt()"><script. language="javascript"> function doIt(){ alert(event.keyCode); }</script>
Moz
<input type="text" nkeypress="doIt(event)"><script. language="javascript"> function doIt(oEvent){ alert(oEvent.which) }</script>
4,event.x,event.y[IE]和event.pageX,event.pageY[Moz]
IE中取鼠標點擊的絕對位置,使用event對象的event.x和event.y
Moz中取鼠標點擊的絕對位置,使用event對象的event.pageX和event.pageY
所以為了兼容,需要自己做處理,參考代碼如下:
IE&Moz
<div id="myDiv" nclick="doIt(event)" style="position:absolute;top:100;left:100; width:100;height:100;background-color:orange;border:1px solid black"><script. language="javascript"> function doIt(oEvent){ var posX = oEvent.x ? oEvent.x : oEvent.pageX; var posY = oEvent.y ? oEvent.y : oEvent.pageY; alert("X:" + posX + "/nY:" + posY) }</script>
5,event.offsetX,event.offsetY[IE]和event.pageX,event.pageY[Moz]
新聞熱點
疑難解答