看板 Ajax 關於我們 聯絡資訊
各位大大好 寫 php javascript 寫了約1年多了@_@ 也使用過 dojo, jquery 這些東西.. 最近想到一個問題,既然可以這樣寫 <input type="button" id="send_msg" name="send_msg" onClick="send_msg()"> 那為什麼有些人要這樣子寫呢?(使用 jquery 中的 bind ) $("send_msg").bind("click", function (){ ..... }); 使用 bind 這種寫法不是很不直覺嗎?(對我來說啦) 第一種寫法的 debug 流程: 尋找名為 send_msg 的按鈕 -> 看它 click 的時候會做什麼 第二種寫法的 debug 流程: 尋找名為 send_msg 的按鈕 -> 結果發現它 html 中, onClick 沒寫東西 -> 再接著去尋找是不是有用 jquery 去 bind 它 這樣子,第二種寫法有什麼好處呢??(目前看到好多人都使用第二種寫法,可是 我卻不知道第二種寫法的優點在哪邊) 新手發問,請各位先輩指點指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.50.43 ※ 編輯: godgiraffe 來自: 60.250.50.43 (05/03 11:18)
lgzenith:主要目的是HTML Javascript明確的分開 05/03 11:31
Ardy:http://0rz.tw/6ZEbn 05/03 11:31
MangoTW:匿名 05/03 11:32
mrbigmouth:第一種作法在做大專案時 哪天某名白目給你在同頁面的 05/03 11:33
mrbigmouth:某個角落加了另一個名叫send_msg的函式你就要哭了 05/03 11:33
mrbigmouth:找bug都找不到在哪 05/03 11:33
mrbigmouth:第二種寫法debug時可以直接檢查該元素的event bind 05/03 11:35
mrbigmouth:像chrome瀏覽器都還可以直接在event listening裡看到 05/03 11:35
mrbigmouth:點擊後還能幫你直接跳到程式碼裡面呢 05/03 11:36
mrbigmouth:常寫較大的專案就知道了 第二種的可維護性>>>>>第一種 05/03 11:36
mrbigmouth:補充 chorme瀏覽器你可以直接在元素上點右鍵"檢查元素" 05/03 11:37
mrbigmouth:在DOM樹狀裡點擊要檢查的元素後,右邊的元素細節裡就有 05/03 11:38
mrbigmouth:一欄是Event Listeners 那邊可以直接跳到程式碼所在 05/03 11:38
duck10704:原來如此 @@ 05/03 12:10
原來如此 謝謝各位大大清楚的解說,看來還是第二種寫法比較好一點! ※ 編輯: godgiraffe 來自: 60.250.50.43 (05/03 12:39)
Yadsmood:個人超討厭看到第一種 看到能改都會改掉 05/03 15:46
s25g5d4:樓上+1 05/03 18:39
matrixki:忘了加 # ... lol 05/04 16:27
※ 編輯: godgiraffe 來自: 60.250.50.43 (05/09 13:45)