動態新增js事件

2022-04-04 13:27:23 字數 1199 閱讀 5612

//表單物件

function getobject(name)

else

}//失去焦點函式

function blur()

//四捨五入函式

function fordight(dight,how)

//執行

var lsize=getobject('stnumbertextbox1');

var psize=getobject('stnumbertextbox2');

setevent(lsize,'onblur',blur);

object.event = handler;

的方式初始化。這種方式對於 internet explorer、mozilla/firefox 和 opera 來說很通用。但是有乙個問題就是,這種方式只能乙個事件對應乙個事件處理過程。如果希望乙個事件可以依次執行多個處理過程就不好用了。

但是 internet explorer 從 5.0 開始提供了乙個 attachevent 方法,使用這個方法,就可以給乙個事件指派多個處理過程了。attachevent 對於目前的 opera 也適用。但是問題是 mozilla/firefox 並不支援這個方法。但是它支援另乙個 addeventlistener 方法,這個方法跟 attachevent 差不多,也是用來給乙個事件指派多個處理過程的。但是它們指派的事件有些區別,在 attachevent 方法中,事件是以 「on」 開頭的,而在 addeventlistener 中,事件沒有開頭的 「on」,另外 addeventlistener 還有第三個引數,一般這個引數指定為 false 就可以了。

因此要想在你的程式中給乙個事件指派多個處理過程的話,只要首先判斷一下瀏覽器,然後根據不同的瀏覽器,選擇使用 attachevent 還是 addeventlistener 就可以了。例項如下:

if (window.attachevent) else if (window.addeventlistener)              

function remove()  

注意:attachevent 所指派的多個過程的執行順序是隨機的,所以這幾個過程之間不要有順序依賴。另外 attachevent 和 addeventlistener 不僅僅適用於 window 物件,其他的一些物件也支援該方法。

帶引數設定:

window.attachevent('onload', function());

Js動態新增事件

一 setattribute 該方法在ff下可行,在ie下,不支援該方法新增事件 setattribute onclick display 該方法在ff下可以正常執行,在ie就不能執行。二 attachevent 和 addeventlistener ie下用 attachevent 非ie下用 a...

關於js動態新增事件

兩種方式 直接給物件新增事件,節點新增事件 例如給乙個id為tab1的新增onclick事件 第一種情況 var t document.getelementbyid tab1 t.onclick function tst 第二種情況 這種情況更加動態,更為實用,而且還能新增多個函式 新增的事件的順序...

js動態新增事件 事件委託

其所謂的動態新增事件實質就是指js中的事件委託。我們知道在js中,事件處理只能繫結在當前被選中的元素上,換句話也就是說,事件處理只能繫結在當前文件已經存在的元素上!但是,往往小夥伴們都會遇到乙個問題就是,我的元素是後來動態新增到頁面的,而我又想給該元素繫結事件,怎麼處理?為了說明白這一問題,我們假設...