<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          JavaScript事件和修改this指向

          2021-10-9    前端達人

          1、鼠標事件:

          onclick 左鍵單擊 ondblclick 左鍵雙擊 onmouseover onmouseenter 鼠標移入 onmouseout onmouseleave鼠標移出 onmousedown 鼠標按下 onmousmove 鼠標移動(鼠標滑動) onmouseup 鼠標抬起 oncontextmenu 右鍵單擊(右鍵菜單)

           2、鍵盤事件:

          onkeydown onkeypress 鍵按下 onkeyup 鍵抬起 鍵盤事件必須放在整個文檔(document)里面去操作,不能放在節點里面去操作

          3、系統事件:

          onload 加載完成后 onerror 加載出錯后 onresize 窗口調整大小時 onscroll 滾動時

          
          
          1. //onload 加載完成后 onerror 加載出錯后 onresize 窗口調整大小時 都是放在window的身上
          2. window.onload = function(){};
          3. //onscroll 滾動時 可以放在document和window身上
          4. document.onscroll = function(){};

           4、表單事件:

          onfocus 獲取焦點后 onblur 失去焦點后 onchange 改變內容后 onreset 重置后 onselect 選擇后 onsubmit 提交后

          5、監聽事件(綁定事件)寫法:

          節點.事件 = 函數。

          document.getElementById("main").onclick = function(){alert(1)};

          document.getElementById("main").addEventListener("click",function(){},false);

          行內綁定

          <button οnclick="alert('hello world')">Click</button>

           <button οnclick="func()">Click</button>

          <script type="text/javascript">

                    var func = () => {

                              alert('hello world')

                    };

          </script>

          6、事件函數this指向:在事件函數中,關鍵詞 this 就表示觸發事件的這個節點對象。

           7、修改this指向:

          call() 第一個參數為 函數this將要修改指向的對象 函數有參數時 后面, 一一跟上即可 可以主動執行函數

          apply() 第一個參數為 函數this將要修改指向的對象 函數有參數時 數組包一下 可以主動執行函數

          bind() 第一個參數為 函數this將要修改指向的對象 函數有參數時 后面, 一一跟上即可 不不不會主動執行函數 但會return函數本體 再加一個括號即可執行  

          
          
          1. window.a = 0 //在window對象下創建一個屬性,屬性值為0
          2. let obj1 = {
          3. a: 1
          4. }
          5. let obj2 = {
          6. a: 2
          7. }
          8. function fn(num1, num2, num3) {
          9. console.log(this.a);
          10. console.log(num1, num2, num3);
          11. }
          12. //修改函數里面this的指向
          13. fn.call(obj1,4,5,6)
          14. fn.apply(obj2,[4,5,6])
          15. fn.bind(obj1,4,5,6)()

           


          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.

          轉自:csdn
          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合