电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

js HTML DOM EventListener功能與用法實例分析

瀏覽:132日期:2024-05-11 16:12:28

本文實例講述了js HTML DOM EventListener功能與用法。分享給大家供大家參考,具體如下:

DOM EventListener

用于向指定元素添加事件句柄。

在用戶點擊按鈕時觸發(fā)監(jiān)聽事件:

document.getElementById(’myBtn’).addEventListener(’click’, displayDate);

addEventListener() 方法添加的事件句柄不會覆蓋已存在的事件句柄。

可以向一個元素添加多個事件句柄。

<script>var x = document.getElementById('myBtn');x.addEventListener('mouseover', myFunction);x.addEventListener('click', mySecondFunction);x.addEventListener('mouseout', myThirdFunction);function myFunction() { document.getElementById('demo').innerHTML += 'Moused over!<br>'}function mySecondFunction() { document.getElementById('demo').innerHTML += 'Clicked!<br>'}function myThirdFunction() { document.getElementById('demo').innerHTML += 'Moused out!<br>'}</script>

可以向同個元素添加多個同類型的事件句柄,如:兩個 'click' 事件。

<script>var x = document.getElementById('myBtn');x.addEventListener('click', myFunction);x.addEventListener('click', someOtherFunction);function myFunction() { alert ('Hello World!')}function someOtherFunction() { alert ('函數(shù)已執(zhí)行!')}</script>

可以向任何 DOM 對象添加事件監(jiān)聽,不僅僅是 HTML 元素。如: window 對象。

addEventListener() 方法允許你在 HTML DOM 對象添加事件監(jiān)聽, HTML DOM 對象如: HTML 元素, HTML 文檔, window 對象。或者其他支出的事件對象如: xmlHttpRequest 對象

<script>window.addEventListener('resize', function(){ document.getElementById('demo').innerHTML = Math.random();});</script>

addEventListener() 方法可以更簡單的控制事件(冒泡與捕獲)。

當使用 addEventListener() 方法時, JavaScript 從 HTML 標記中分離開來,可讀性更強, 在沒有控制HTML標記時也可以添加事件監(jiān)聽。

可以使用 removeEventListener() 方法來移除事件的監(jiān)聽。

語法

element.addEventListener(event, function, useCapture); 第一個參數(shù)是事件的類型 (如 'click' 或 'mousedown'). 第二個參數(shù)是事件觸發(fā)后調(diào)用的函數(shù)。 第三個參數(shù)是個布爾值用于描述事件是冒泡還是捕獲。該參數(shù)是可選的。

注意:不要使用 'on' 前綴。 例如,使用 'click' ,而不是使用 'onclick'。

事件冒泡或事件捕獲?

事件傳遞有兩種方式:冒泡與捕獲。

事件傳遞定義了元素事件觸發(fā)的順序。 如果你將 <p> 元素插入到 <div> 元素中,用戶點擊 <p> 元素, 哪個元素的 'click' 事件先被觸發(fā)呢?

在 冒泡 中,內(nèi)部元素的事件會先被觸發(fā),然后再觸發(fā)外部元素,即: <p> 元素的點擊事件先觸發(fā),然后會觸發(fā) <div> 元素的點擊事件。

在 捕獲 中,外部元素的事件會先被觸發(fā),然后才會觸發(fā)內(nèi)部元素的事件,即: <div> 元素的點擊事件先觸發(fā) ,然后再觸發(fā) <p> 元素的點擊事件。

addEventListener() 方法可以指定 'useCapture' 參數(shù)來設(shè)置傳遞類型:

addEventListener(event, function, useCapture);

默認值為 false, 即冒泡傳遞,當值為 true 時, 事件使用捕獲傳遞。

<script>document.getElementById('myP').addEventListener('click', function() { alert('你點擊了 P 元素!');}, false);document.getElementById('myDiv').addEventListener('click', function() { alert(' 你點擊了 DIV 元素 !');}, false);document.getElementById('myP2').addEventListener('click', function() { alert('你點擊了 P2 元素!');}, true);document.getElementById('myDiv2').addEventListener('click', function() { alert('你點擊了 DIV2 元素 !');}, true);</script>removeEventListener() 方法

removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:

<script>document.getElementById('myDIV').addEventListener('mousemove', myFunction);function myFunction() { document.getElementById('demo').innerHTML = Math.random();}function removeHandler() { document.getElementById('myDIV').removeEventListener('mousemove', myFunction);}</script>瀏覽器支持

表格中的數(shù)字表示支持該方法的第一個瀏覽器的版本號。

方法 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 js HTML DOM EventListener功能與用法實例分析 addEventListener() 1.0 9.0 1.0 1.0 7.0 removeEventListener() 1.0 9.0 1.0 1.0 7.0

注意: IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。但是,對于這類瀏覽器版本可以使用 detachEvent() 方法來移除事件句柄:

element.attachEvent(event, function);element.detachEvent(event, function);

例:該實例演示了所有瀏覽器兼容的解決方法

<script>var x = document.getElementById('myBtn');if (x.addEventListener) { x.addEventListener('click', myFunction);} else if (x.attachEvent) { x.attachEvent('onclick', myFunction);}function myFunction() { alert('Hello World!');}</script>

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 万濠影像仪(万濠投影仪)百科-苏州林泽仪器 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 挨踢网-大家的导航!| 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 三轴曲线机-端子插拔力试验机|华杰仪器 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 玄米影院| 岩棉板|岩棉复合板|聚氨酯夹芯板|岩棉夹芯板|彩钢夹芯板-江苏恒海钢结构 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 超声波分散机-均质机-萃取仪-超声波涂料分散设备-杭州精浩 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 达利园物流科技集团-| 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 |