国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JQuery Tips相關(1)----關于$.Ready()

2019-11-20 14:16:22
字體:
來源:轉載
供稿:網友

 最近一直在研究JQuery,這個東西還是很博大精深的.下面分享一下我的學習總結.

$(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法

     接觸JQuery一般最先學到的是何時啟動事件。在曾經很長一段時間里,在頁面載入后引發的事件都被加載在”Body”的Onload事件里.

     對于Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:

1.加載多個函數的問題

<body onload="a();b();"></body>

     在Onload事件中只能這樣加載,很丑陋…而在JQuery中你可以利用多個JQuery.Ready()方法,它們會按次序依次執行

2.代碼和內容不分離
    這個貌似不用說了,讓人深惡痛絕-.-!!

3.執行先后順序不同
    對于Body.Onload事件,是在加載完所有頁面內容才會觸發,我的意思是所有內容,包括圖片,flash等.如果頁面的這些內容很多會讓用戶等待很長時間.

    而對于$(document).ready()方法,這個方法只是在頁面所有的DOM加載完畢后就會觸發,無疑很大的加快了網頁的速度.

    但是對于一些特殊應用,比如圖片的放大縮小,圖片的剪裁。需要網頁所有的內容加載完畢后才執行的呢?我推薦使用$(window).load()方法,這個方法會等到頁面所有內容加載完畢后才會觸發,并且同時又沒有OnLoad事件的弊端.

  <script type="text/javascript">    $(window).load(function() {      alert("hello");    });    $(window).load(function() {      alert("hello again");    });  </script>

    上面的代碼會在頁面所有內容加載完成后按先后順序依次執行.

  當然不要忘了與之對應的Unload方法

$(window).unload(function() {      alert("good bye");    });

  上面代碼會在頁面關閉時引發.

在所有DOM加載之前引發JS代碼
這個方法是我在調試的時候最喜歡的,有時候開發的時候也用這種方法

<body>  <script type="text/javascript">    (function() {      alert("hi");    })(jQuery)  </script></body>

對,就是利用js閉包的形式將js代碼嵌入body,這段代碼會自動執行,當然也可以直接嵌入js代碼,這種方式要注意順序問題,如下:

<body><div id="test">this is the content</div>  <script type="text/javascript">    alert($("#test").html());//I Can display the content      </script></body><body>  <script type="text/javascript">    alert($("#test").html());//I Can't display the content      </script>  <div id="test">this is the content</div></body>

上面兩段代碼,第二段代碼當中因為只能解釋到當前代碼之前的DOM,而test并不存在于已經解析的DOM數.所以第二段代碼無法正確顯示.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白沙| 承德县| 正蓝旗| 天等县| 德庆县| 玉山县| 临颍县| 黄浦区| 乳山市| 大埔区| 通山县| 井陉县| 浏阳市| 东丰县| 南丹县| 朝阳区| 灌南县| 铅山县| 瑞金市| 慈溪市| 滨州市| 富顺县| 台前县| 老河口市| 无为县| 二连浩特市| 泗水县| 海伦市| 那坡县| 德令哈市| 保靖县| 溧阳市| 郑州市| 永胜县| 万宁市| 二连浩特市| 双峰县| 崇阳县| 金华市| 定州市| 潞西市|