JavaScript中的事件處理程序
一、Html事件處理程序
弊端:與標(biāo)簽耦合度太高,直接綁定在標(biāo)簽體上
<body> <button type="button" onclick="alert('消息框');" onmouseout="console.log('控制臺(tái)')">Html事件處理程序</button> <button type="button" onclick="fun1();" onmouseout="console.log('控制臺(tái)')">Html事件處理程序</button> <script type="text/javascript"> //Html事件處理程序 function fun1(){ alert("消息框"); } //加載事件 load 當(dāng)頁(yè)面中元素和引入的資源加載完畢之后執(zhí)行里面的代碼 window.onload = function(){ //。。。。。。。 } </script> </body>
二 、DOM 0級(jí)事件處理程序
弊端:不能給同一個(gè)元素綁定同一個(gè)事件多次
<body> <button type="button" id="but1">DOM0級(jí)事件處理程序</button> <script type="text/javascript"> /* DOM0級(jí)事件處理程序 */ //獲取元素 var but1 = document.getElementById("but1"); // 2.給元素綁定事件 but1.onclick = function(){ console.log('DOM0級(jí)事件處理程序1'); } //添加的第二的Click事件起作用,第一個(gè)被覆蓋 but1.onclick = function(){ console.log('DOM0級(jí)事件處理程序2'); } </script> </body>
三、DOM2級(jí)事件處理程序
優(yōu)點(diǎn):解決了以上的兩個(gè)弊端,可以綁定對(duì)個(gè)事件
<body> <button type="button" id="but2">DOM2級(jí)事件處理程序</button> <button type="button" id="but3">刪除DOM2級(jí)事件處理程序</button> <script type="text/javascript"> //DOM2級(jí)事件處理程序 //獲取元素 var but2 = document.getElementById("but2"); var but3 = document.getElementById("but3"); but2.addEventListener("click",function(){ console.log("DOM2級(jí)事件處理程序1"); }); but2.addEventListener("click",function(){ console.log("DOM2級(jí)事件處理程序2"); }); function fun3(){ console.log("有方法名的處理程序"); } but2.addEventListener('mouseover',fun3); //移除but2的某個(gè)事件 but3.addEventListener("click",function(){ but2.removeEventListener('mouseover',fun3); }); </script> </body>
?以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS事件流與事件處理程序?qū)嵗治?/a>
- JavaScript常見(jiàn)事件處理程序?qū)嵗偨Y(jié)
- JavaScript事件處理程序詳解
- 深入理解在JS中通過(guò)四種設(shè)置事件處理程序的方法
- JavaScript的事件代理和委托實(shí)例分析
- js中的事件委托或是事件代理使用詳解
- JavaScript事件代理和委托詳解
- js事件委托和事件代理案例分享
- JavaScript通過(guò)事件代理高亮顯示表格行的方法
- JS實(shí)現(xiàn)為動(dòng)態(tài)添加的元素增加事件功能示例【基于事件委托】
- javascript事件委托的方式綁定詳解
- JS事件處理機(jī)制及事件代理(事件委托)實(shí)例詳解
相關(guān)文章
理解Javascript_02_理解undefined和null
其實(shí)在 ECMAScript 的原始類型中,是有Undefined 和 Null 類型的。 這兩種類型都分別對(duì)應(yīng)了屬于自己的唯一專用值,即undefined 和 null。2010-10-10JavaScript實(shí)現(xiàn)隱藏省略文字效果的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)隱藏省略文字效果的方法,涉及javascript基于事件響應(yīng)實(shí)現(xiàn)頁(yè)面字符串元素的獲取、截取、設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2017-04-04小程序開(kāi)發(fā)基礎(chǔ)之view視圖容器
這篇文章主要介紹了小程序開(kāi)發(fā)基礎(chǔ)之view視圖容器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08為JavaScript類型增加方法的實(shí)現(xiàn)代碼(增加功能)
大家在js開(kāi)發(fā)過(guò)程中有些功能已經(jīng)滿足不了我們的需求,或沒(méi)有我們需要的功能,那么我們就可以自己擴(kuò)展下,個(gè)性化js2011-12-12JavaScript中valueOf函數(shù)與toString方法深入理解
基本上,所有JS數(shù)據(jù)類型都擁有valueOf和toString這兩個(gè)方法,null除外。它們倆解決javascript值運(yùn)算與顯示的問(wèn)題,本文將詳細(xì)介紹,有需要的朋友可以參考下2012-12-12