1. 程式人生 > >JS中事件綁定

JS中事件綁定

js事件綁定

事件綁定

事件綁定

IE方式

attactEvent(事件名稱,函數),綁定事件處理函數

derachEvent(事件名稱,函數),解除綁定

DOM方式

addEventListener(事件名稱,函數,捕獲)

removeEventListener(事件名稱,函數,捕獲)

綁定事件代碼:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script

>

window.onload=function()

{

var oBtn=document.getElementById('btn1');

oBtn.attachEvent('onclick',function()

{

alert('a')

});

oBtn.attachEvent('onclick',function()

{

alert('b')

});

}

</script>

</head>

<body>

<input id="btn1" type="button" value="按鈕" />

</body>

</html>

以上代碼使用了attactEvent(事件名稱,函數),綁定事件處理函數 註意(事件名稱前面加on)

只能在IE

裏面用,在別的瀏覽器會報錯

使用addEventListener(事件名稱,函數,捕獲)的代碼 註意事件名稱前面不加on

這個只能使用於火狐 chrome IE9瀏覽器 IE7會報錯

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script>

window.onload=function()

{

var oBtn=document.getElementById('btn1');

oBtn.addEventListener('click',function()

{

alert('a')

});

oBtn.addEventListener('click',function()

{

alert('b')

});

}

</script>

</head>

<body>

<input id="btn1" type="button" value="按鈕" />

</body>

</html>

2個方法綁定事件

分別是

IE方式

attactEvent(事件名稱,函數),綁定事件處理函數

DOM方式

addEventListener(事件名稱,函數,捕獲)

他們2個都只能使用於一種瀏覽器,

可以用if解決兼容問題

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script>

window.onload=function()

{

var oBtn=document.getElementById('btn1');

if(oBtn.attachEvent)

{

oBtn.attachEvent('onclick',function()

{

alert('a')

});

oBtn.attachEvent('onclick',function()

{

alert('b')

});

}else

{

oBtn.addEventListener('click',function()

{

alert('a')

});

oBtn.addEventListener('click',function()

{

alert('b')

});

}

}

</script>

</head>

<body>

<input id="btn1" type="button" value="按鈕" />

</body>

</html>

如果以後用綁定很麻煩,可以把綁定寫一個函數,以後我們用直接調用就可以了

function myAddevent(obj,ev,fn)

{

if(obj.attachEvent)

{

obj.attachEvent('on'+ev,fn)

}else

{

obj.addEventListener(ev,fn,false);

}

}

上面是編寫好的綁定函數,我下面來調用

window.onload=function()

{

var oBtn=document.getElementById('btn1');

myAddevent(oBtn,'click',function()

{

alert('a')

})

myAddevent(oBtn,'click',function()

{

alert('b')

})

}

2事件捕獲

a.setCapture()把網頁所有事件全部集中到a

a.releaseCapture()解除上面的捕獲事件


JS中事件綁定