十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      結合實例介紹unload事件、resize事件、scroll事件的使用方法及注意事項

      百恒網絡 2016-12-05 6564

      前面我們通過《結合實例詳細介紹javascript中load事件使用方法》介紹過頁面在加載過程中響應的load事件如何使用,load的事件我們也是經常用到的,例如:常用的計時器就是頁面一加載就開始計時,接下來南昌網站制作公司百恒網絡開發工程師向大家介紹unload事件、resize事件、scroll事件幾個常用的事件。
      ? ? ? ?1.unload 事件
      ? ? ? 與 load 事件對應的是 unload 事件,這個事件在文檔被完全卸載后觸發。只要用戶從一個頁面切
      換到另一個頁面,就會發生 unload 事件。而利用這個事件最多的情況是清除引用,以避免內存泄漏。 與 load 事件類似,也有兩種指定 onunload 事件處理程序的方式。第一種方式是使用 JavaScript,如
      下所示:
      ? ? ? EventUtil.addHandler(window, "unload", function(event){
      ? ? ? ? ? ? alert("Unloaded");
      ? ? ? });
      ? ? ? 此時生成的 event 對象在兼容 DOM的瀏覽器中只包含 target 屬性(值為 document)。IE8 及之
      前版本則為這個事件對象提供了 srcElement 屬性。
      ? ? ? 指定事件處理程序的第二種方式,也是為元素添加一個特性(與 load 事件相似),如下面的例子所示:
      ? ? ?
      ? ? ?
      ? ? ?
      ? ? ? ? ? ? Unload Event Example
      ? ? ?
      ? ? ?
      ? ? ?
      ? ? ?
      ? ? ? 無論使用哪種方式,都要小心編寫 onunload 事件處理程序中的代碼。既然 unload 事件是在一切
      都被卸載之后才觸發,那么在頁面加載后存在的那些對象,此時就不一定存在了。此時,操作 DOM節 點或者元素的樣式就會導致錯誤。
      2.resize 事件
      ? ? ? 當瀏覽器窗口被調整到一個新的高度或寬度時,就會觸發 resize 事件。這個事件在 window(窗
      口)上面觸發,因此可以通過 JavaScript 或者元素中的 onresize 特性來指定事件處理程序。如前所述,我們還是推薦使用如下所示的 JavaScript 方式:
      ? ? ? EventUtil.addHandler(window, "resize", function(event){
      ? ? ? ? ? ? alert("Resized");
      ? ? ? });
      ? ? ? 與其他發生在 window 上的事件類似,在兼容 DOM 的瀏覽器中,傳入事件處理程序中的 event 對 象有一個 target 屬性,值為 document;而 IE8 及之前版本則未提供任何屬性。
      ? ? ? 關于何時會觸發 resize 事件,不同瀏覽器有不同的機制。IE、Safari、Chrome 和 Opera 會在瀏覽
      器窗口變化了 1 像素時就觸發 resize 事件,然后隨著變化不斷重復觸發。Firefox 則只會在用戶停止調 整窗口大小時才會觸發 resize 事件。由于存在這個差別,應該注意不要在這個事件的處理程序中加入 大計算量的代碼,因為這些代碼有可能被頻繁執行,從而導致瀏覽器反應明顯變慢。
      scroll 事件
      ? ? ? 雖然 scroll 事件是在 window 對象上發生的,但它實際表示的則是頁面中相應元素的變化。在混
      雜模式下,可以通過元素的 scrollLeft 和 scrollTop 來監控到這一變;;而在標準模式下,
      除 Safari 之外的所有瀏覽器都會通過元素來反映這一變化(Safari 仍然基于跟蹤滾動位 置),如下面的例子所示:
      ? ? ? EventUtil.addHandler(window, "scroll", function(event){
      ? ? ? ? ? ? if (document.compatMode == "CSS1Compat"){
      ? ? ? ? ? ? ? ? ? alert(document.documentElement.scrollTop);
      ? ? ? ? ? ? } else {
      ? ? ? ? ? ? ? ? ? alert(document.body.scrollTop);
      ? ? ? ? ? ? }
      ? ?});
      ? ? ? 以上代碼指定的事件處理程序會輸出頁面的垂直滾動位置——根據呈現模式不同使用了不同的元 素。由于 Safari 3.1 之前的版本不支持 document.compatMode,因此舊版本的瀏覽器就會滿足第二個 條件。
      ? ? ? 與 resize 事件類似,scroll 事件也會在文檔被滾動期間重復被觸發,所以有必要盡量保持事件
      處理程序的代碼簡單。
      ? 本文僅限內部技術人員學習交流,不得作于其他商業用途.希望此文對廣技人員有所幫助。原創文章出自:南昌網站建設公司-百恒網絡http://www.dgscpc.com/如轉載請注明出處!

      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      国产在热线精品视频国产一二| 久久99热这里只频精品6| 国产精品理论片在线观看| 国产精品久久久久久无毒不卡| 99精品国产第一福利网站| 久久精品国产网红主播| 国产成人精品一区二区秒拍 | 国产精品免费看香蕉| 精品少妇人妻AV一区二区三区 | 国产精品主播叶子闺蜜| 久久精品无码一区二区三区不卡| 91精品国产综合久久四虎久久无码一级 | 日韩视频在线观看| 国产99精品在线观看| 国产精品k频道在线看| 国产精品k频道在线看| 国产精品久久久久久久久kt | 亚洲精品专区在线观看| 日韩国产成人资源精品视频| 亚洲AV日韩AV天堂一区二区三区| 国产在热线精品视频国产一二| 国产精品jizz观看| 国产精品一线二线三线| 国产成人亚洲精品91专区高清| 国产精品特级露脸AV毛片| 热99re久久精品2久久久| 女同久久另类99精品国产| 国产精品成人久久久久| 国产成人综合久久精品| 国产在线观看91精品一区| 日韩精品中文字幕第2页| 日韩精品免费一级视频| 日韩免费高清视频| laowang在线精品视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 久久99热这里只有精品66| 亚洲中文精品久久久久久不卡| 无码人妻精品一区二区蜜桃| 国产精品欧美成人| 国产精品爆乳在线播放第一人称| 国产精品免费视频一区|