事件的繫結

2022-05-06 13:24:09 字數 1332 閱讀 4776

實現事件的繫結,一般情況下都是使用onclick等方式實現,但是使用

使用物件.事件 = 函式的形式繫結響應函式,

* 它只能同時為乙個元素的乙個事件繫結乙個函式,

* 不能繫結多個,如果繫結了多個,則後邊會覆蓋前邊的。

* 如果實現繫結多個,則可以用addeventlistener()實現或者attachevent(ie8版本以下)則可以用addeventlistener()

* 通過這個方法可以為元素繫結響應函式

* - 引數

* 1、事件的字串 ,不要on

* 2、**函式,當事件觸發時,該函式會被呼叫

* 3、是否在捕獲階段觸發事件,需要乙個布林值,一般都傳fasle

* * 使用addeventlistener可以為乙個元素的相同事件同時繫結多個響應函式,

* 這樣子被觸發時,響應函式將會按照函式的繫結順序執行。

* 這個方法不支援ie8以下瀏覽器

btn01.addeventlistener('click',function(),false)

btn01.addeventlistener('click',function(),false)

* * 在ie8中可以使用attachevent來繫結事件

* 引數:

* - 事件的字串,要on

* - **函式

* - 這個方法也可以同時為乙個事件繫結多個響應函式,

* 不同的是後繫結先執行,執行順序和addeventlistener順序相反。

*

btn01.attachevent("onclick",function());

* * 但是addeventlistener相容普通瀏覽器(不相容ie8以下),而attachevent相容ie8(不相容普通瀏覽器),

* 所以為了解決相容性問題:

* 定義乙個函式,用來指定元素繫結響應函式。

* addeventlistener中的this,是繫結事件的物件

* attachevent中的this中的this,是window

* 需要統一兩個方法的this

* * 引數:

* obj 要繫結事件的物件

* eventstr 事件的字串

* callback **函式

* */

為了相容以上所有的瀏覽器的話,則需要自己寫乙個繫結函式去解決這個問題。

以下是實現方式:

bind(btn01,'click',function());

function bind(obj,evenstr,callback)else)

}

jquery繫結事件以及js繫結事件

jquery繫結事件 bind事件 onelive delegate on對應的 jquery繫結click事件的寫法start click1 bind click function click2 one click function click3 live click function click...

事件處理 on 繫結事件

on 方法在匹配元素上繫結乙個或者多個事件處理函式 element.on events,selector fn 發生多個事件的話 div on click function mouseout function 發生事件發生同樣的操作的話 div on mouseover mouseout funct...

jQuery事件的繫結

在沒學習jquery之前需要html中使用on 的形式去繫結,這樣會讓 顯得很混亂 html只負責內容的描述 將要繫結的事件的元素選擇出來然後在js中實現繫結,就可以解決這一情況,可以使用jq實現這以操作,而且jq的事件繫結更靈活。jquery繫結單擊事件 方式1 function 方式2 func...