日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Firefox不支持event解决方法

發布時間:2024/10/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Firefox不支持event解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//火狐上的用調試的小問題。alert();的使用

alert();當里面沒有參數時會在火狐中無法運行,IE可以。

alert('');有參數火狐才會執行,在火狐調試時要特別注意。

-----------------------------------------------------------------------------------------------------

1)event

event.srcElement從字面上可以看出來有以下關鍵字:事件,源他的意思就是:當前事件的源,

我們可以調用他的各種屬性就像:document.getElementById(”")這樣的功能,

經常有人問firefox 下的event.srcElement 怎么用,在此詳細說明:

IE下,event對象有srcElement屬性,但是沒有target屬性;Firefox下,event對象有target屬性,但是沒有srcElement屬性.但他們的作用是相當的,即:

firefox 下的event.target = IE 下的event.srcElement

解決方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)來代替IE下的event.srcElement或者Firefox下的event.target.

http://www.firefox.hk

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 srcElement = theEvent.srcElement;

if (!srcElement){

srcElement = theEvent.target;

}

例子:

document.onclick = function(e){

var theEvent = window.event || e;

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

}

function clickAction(){

var theEvent = window.event || arguments.callee.caller.arguments[0];

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

// do something;

}

function clickAction(e){

var theEvent = window.event || e;

var srcElement = theEvent.srcElement;

if (!srcElement) {

srcElement = theEvent.target;

}

// 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;

}

}

2)document.all

document.all是ie在dom標準確立之前的一個得到元素的一個集合,根據id和name,的一個元素大集合,后來DOM標準確定了,getElementById逐漸慢慢取代了all對象集的地位,但是firefox為了兼容一些為ie寫的使用document.all的腳本,不得已,加入了document.all支持,但是也不支持if(document.all)判斷,并且在有正確xhtml的doctype下會屏蔽使用document.all

3)event

window.event //IE

e //FF

e = window.event || e

3)判斷頁面加載完成

IE: document.onreadystatechange=function(){document.readyState=="complete"}

FF: document.addEventListener("DOMContentLoaded",handle,false)

當某一事件被觸發時需要執行某個函數,在IE下可用attachEvent,在FF下則要用addEventListener。

attachEvent()有兩個參數,第一個是事件名稱,第二個是需執行的函數;

addEventListener()有三個參數,第一個是事件名稱,但與IE事件不同的是,事件不帶"on",比如"onsubmit"在這里應為"submit",第二個是需執行的函數,第三個參數為布爾值;

來源: 站長吧- http://www.master8.net/data/2007/0620/article_10074.htm

4)設置容器位置left、top

IE:可以不用加單位px

FF:一定要加單位px

-------------------------------------------------------------------------------------------

//一種用來輸入整數的方法。

IsInt:<input type="text" οnkeyup="isInt(event);">

//是否整型

function isInt(e){

//keyCode:IE支持,which:FF支持。

var theEvent = window.event || e;

var code = theEvent.keyCode || theEvent.which;

if(code<48 || code>57){

//alert(code);//srcElement:IE支持,target:FF支持

var val = e.srcElement ? e.srcElement : e.target;

val.value = val.value.substring(0,val.value.length-1);

}

}

---------------------------------------------------------------------------------------------

// "||":也可以用來賦值,在FF中沒有window.event,要對象賦對象。isInt(event);

function isInt(e){

var oEvent = e || window.event; //用來判斷是IE或者FF,并賦值給對象。

var oTarget = oEvent.target || oEvent.srcElement; //用來取IE或者FF的對象。

}

轉載于:https://www.cnblogs.com/yexinw/archive/2011/08/12/2136282.html

總結

以上是生活随笔為你收集整理的Firefox不支持event解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。