dom0級事件
<a href="#" id="hash" onclick="fn();fn();"> <button type="button">返回上面进行开通</button> </a> var btn=$('#hash').get(); btn.onclick=function(){ alert(''); }; btn.onclick=function(){ alert(''); };
像上面把onclick寫在標籤內,都是dom0級事件,fn和fn1依序執行; 第二種取得元素,綁定onclick事件也是dom0級,第二個會覆蓋第一個onclick,也會覆蓋行內的onclick,只會彈出222。
dom2級事件
$('#hash').click(function(){ alert('jq的dom2级点击第一次') }); $('#hash').click(function(){ alert('jq的dom2级点击第二次') }); btn.addEventListener('click',function(){ alert('原生dom2级第一次click') },false); btn.addEventListener('click',function(){ alert('原生dom2级第二次click') },false)
以上的綁定都屬於dom2級事件綁定,前面兩種都是jq的綁定方式,後面都是原生js的綁定方式,不會覆蓋,會依次執行jq的綁定方法和原生的綁定方法,這就是於dom0級的去別處;
dom0和dom2共存
<a href="#" id="hash" onclick="fn();fn1();"> <button type="button">返回上面进行开通</button> </a> <script type="text/javascript"> function fn(){ alert('ade'); } function fn1(){ alert('ade111'); } var btn=$('#hash').get(0); btn.onclick=function(){ alert('111'); }; $('#hash').click(function(){ alert('jq的dom2级点击第一次') }); btn.addEventListener('click',function(){ alert('原生dom2级第一次click') },false); </script>
上面的例子有一個兩個dom0級和兩個dom3級綁定事件,js裡面寫的dom0級會覆蓋行內的fn和fn1方法,但是js裡面的dom0可以喝dom2共存,結果是彈出111 jq的dom2級點選第一次原生dom2級第一次click;
以上內容是小編給大家帶來的JS中dom0級事件和dom2級事件的區別介紹 ,希望對大家有所幫助,同時也非常感謝大家對腳本之家網站的支持!