作者darKyle (飄向星空)
看板Web_Design
標題Re: [心得]從 js 到 jQuery 之三:可怕的事件叢林
時間Sat Aug 9 06:53:27 2008
※ 引述《ybite (小犬)》之銘言:
: 恕刪
: ※ 引述《TonyQ (沉默是金)》之銘言:
: : @那能不能讓他不要觸發上級的元素呢?
: : 可以 ,對事件方法 return false ; 告訴他我執行到這裡就結束.
: : ex. $("[type=button]").click(function(e){return false;});
: 這樣寫比較好吧?至少比較好懂
: $("input[type=button]").click(function(e){return false;});
: 還是這算是我龜毛? XD
其實可以直接用$(':button')
還有:text, :password,:submit...etc
http://docs.jquery.com/Selectors
: 來解決一下原文click太多的問題
: * 一個使用頻率頗高的Event是ready,尤其是$(document).ready()
: 可以做為window.onload的完美替代
: 以下的「頁面載入好」技術上而言是指DOM已經可以使用了
: jQuery手冊中講「JS code得在這之後跑的機率是99.9%」 XD
: (http://docs.jquery.com/Events/ready#fn)
: $(document).ready(
: function()
: {
: $('#content').html('頁面載入好後,<strong>置換HTML的內容</strong>');
: $('#not-secret').hide(); /* 頁面載入好後隱藏內容 */
: }
: );
根據我查到的資料
window.onload和$(document).ready()的差別在於
後者在DOM建好後就開始執行
而前者是等到頁面整個讀完(包括圖片)才執行
另外$(document).ready()還有超懶人縮寫法
$(function(){});
沒錯 $()裡面放直接放function就好了XD
: : 相依性最常見的用途在於檢查表單資料是否正確填寫 ,
: : 我們可以透過
: : $("form").submit(
: : function(e){
: : if($("#inputdata").val()=="") //如果某個input text是空白
: : return false; //我就不submit了
: : }
: : );
: 坦白講,我發現jQuery在Event這一塊是我不太常用的部分
: 我是個非常慣用HTML中onxxxx系列Attribution的人 Orz
參考一下
http://en.wikipedia.org/wiki/Unobtrusive_JavaScript
Unobtrusive Javascript的概念是把(X)HTML和Javascript分開
用jQuery可以很容易地達到高度模組化
用來實作Hijax也是非常簡單
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.205.20
推 TonyQ:推一下 , 剛剛回應時沒注意到這篇已經有回了. :P 08/09 13:42
→ TonyQ:其實selector 我特地只介紹css3 selector是避免掉過多的雜訊 08/09 13:50
→ TonyQ:但是原文還提供非常多的selector , 各位讀者不妨自行選用. 08/09 13:51
→ TonyQ:大部分的狀況下 , css selector能解決80%的問題 , 08/09 13:51
→ TonyQ:至於剩下 20%的情境 , 就看各人願不願意去學習簡化囉 :) 08/09 13:52
→ TonyQ:其中值得特別學習的會是 :odd跟:even 處理table很好用. 08/09 13:53
→ TonyQ:修正一下 , 第二行意指 id , tag , class selector. 08/09 14:17