IE和FireFox中JS相容之event
event物件
IE 中可以直接使用 event 物件,而 FF 中則不可以,解決方法之一如下:
var theEvent = window.event ||
arguments.callee.caller.arguments[0];
第二種是將 event 作為引數來傳遞:
function xxx(e){var theEvent = window.event || e;}
srcElement 和 target
在 IE 中 srcElement 表示產生事件的源,比如是哪個按鈕觸發的 onclick 事件,FF 中則是 target。
var theEvent = window.event ||
arguments.callee.caller.arguments[0];
var theObj=theEvent.target || theEvent.srcElement;
例子:
document.onclick = function(e){
var theEvent = window.event || e;
var theObj=theEvent.target || theEvent.srcElement;
function clickAction(){
var theEvent = window.event ||
arguments.callee.caller.arguments[0];
var theObj=theEvent.target || theEvent.srcElement;
// do something;
}
function clickAction(e){
var theEvent = window.event || e;
var theObj=theEvent.target || theEvent.srcElement;
// do something;
}
event.keyCode 和event.which
FF不支援window.event.keyCode,代替著是event.which
列子:
//在網頁上面遮蔽tab鍵的程式碼
document.onkeydown = function (e){
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if(code == 9){
return false;
}
}