日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript一个重要知识点:事件。

發布時間:2024/4/17 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript一个重要知识点:事件。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

javascript是事件驅動的,那什么是事件?事件就是在javascript中被偵測到DOM元素行為,就稱之為javascript事件。

2、事件的三個階段

事件的三個階段分別為:

1、捕獲階段 2、目標階段3、冒泡階段。

捕獲的概念:就會為了找到目標DOM元素,會從上往下一級一級查找,直到找到目標DOM元素。(window->document->html->body->......->目標DOM元素。

冒泡的概念:目標事件執行后,會從下往上一級一級查找是否有相同事件類型,直到window。

3、事件的綁定方式

1、最簡單綁定方式:btn.οnclick=function(){};

2、W3C標準綁定方式:addEventListener(事件名稱,事件處理程序,useCapture)第三個參數是布爾值,如果是true表示捕獲,如果是false就是冒泡,默認為冒泡。

3、IE中:attachEvent("on" + 事件名稱, 事件處理程序)這個方法不支持:捕獲階段。

4、三種綁定事件this的指向問題。

1、 onclick 事件中的this 就是 當前對象

2、addEventListener 事件處理程序中的this:當前對象

3、attachEvent 事件處理程序中的this : window

5、事件兼容的封裝

var addEvent = function() {//屬于方法檢測,判斷window是否有該方法if(window.addEventListener) {return function f1(target, type, handler) {target.addEventListener(type, handler);};} else if(window.attachEvent) {return function f2(target, type, handler) {target.attachEvent("on" + type, function() {handler.apply(target);//因為this默認指向window,所以通過apply方法來改變this的指向問題//apply使用方法:function.apply(第一個參數,第二個參數)// 第一個參數:表示指向那個對象來調用函數// 第二個參數:是一個數組或者是偽數組的對象 (這個參數是可選的)這個數組中的每一項的值,都將作為被調用函數的參數});};} else {return function f3(target, type, handler) {target["on" + type] = handler;};} }();//封裝事件兼容函數使用到了閉包技術,目的是:當在頁面中多次調用該函數,可以避免重復判斷,提高js執行效率。

轉載于:https://www.cnblogs.com/lsy0403/p/5862850.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的javascript一个重要知识点:事件。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。