1、物件.事件 = 函式;
它只能同時為乙個物件的乙個事件繫結乙個響應函式
不能繫結多個,如果有多個,後面的會覆蓋前面的
2、addeventlistener()
此方法也可以為元素繫結響應函式
引數:● 事件的字串(不帶on)
● **函式,事件觸發時執行
● 是否在捕獲階段觸發事件,一般都傳false
使用此方法可以為乙個元素的同一事件繫結多個響應函式
當事件觸發時,按繫結順序依次執行
3、attachevent()
ie8及以下瀏覽器不支援addeventlistener()方法,但可以使用attachevent()方法起到同樣的效果
● 引數:
事件字串(帶on)
● **函式
此方法也可以繫結多個函式,不過函式執行順序與addeventlistener()相反
4、this問題與解決
addeventlistener()中的this是繫結事件的物件
attachevent()中的this是window
如果要解決相容性問題則需要統一兩個方法的this
這裡我們用到了call()方法
call()可以用來改變函式的this
自建函式bind()
自己定義乙個函式用來給乙個物件繫結事件
● 思路
三個引數:物件,事件,**函式
● 相容性:
通過if判斷物件是否存在addeventlistener方法來區分瀏覽器
● this問題的解決
由於傳入的**函式是瀏覽器呼叫的,我們無法去操作,所以我們在attachevent()不直接傳入**函式,而是先定義乙個匿名函式,然後在函式內部呼叫**函式,並利用call方法改變this
12337
38btn1
3940
JS函式與事件
一 使用js製作簡單計算器 1.在body裡面先建立計算器頁面。第乙個運算元框 第二個運算元框 加減乘除按鈕的設定 計算結果的顯示 2.編寫函式語句 編寫加法計算函式語句 document.getelementbyid result value n1 n2 將n1和n2的值相加給result這個控制...
js中call,apply與bind三函式
func.call thisvalue,arg1,arg2,第乙個引數就是this所要指向的那個物件,後面的引數則是函式呼叫時所需要的引數 例 function add a,b add.call this,1,2 call方法的乙個應用是呼叫物件的原生方法 var obj obj.hasownpro...
JS函式與事件補充
一 ji宣告函式方式 方式一 function 函式名 引數 方式二 var 函式名 function 引數 二 事件方式 方式一 通過標籤的事件屬性 如 方式二 給元素派發事件 document.getelementbyid id值 nclick function 引數 document.gete...