[問題] 為何要使用 bind 呢?(已解決)

看板Ajax作者 (小鹿)時間12年前 (2013/05/03 11:05), 編輯推噓5(5012)
留言17則, 8人參與, 最新討論串1/3 (看更多)
各位大大好 寫 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)

05/03 11:31, , 1F
主要目的是HTML Javascript明確的分開
05/03 11:31, 1F

05/03 11:31, , 2F
05/03 11:31, 2F

05/03 11:32, , 3F
匿名
05/03 11:32, 3F

05/03 11:33, , 4F
第一種作法在做大專案時 哪天某名白目給你在同頁面的
05/03 11:33, 4F

05/03 11:33, , 5F
某個角落加了另一個名叫send_msg的函式你就要哭了
05/03 11:33, 5F

05/03 11:33, , 6F
找bug都找不到在哪
05/03 11:33, 6F

05/03 11:35, , 7F
第二種寫法debug時可以直接檢查該元素的event bind
05/03 11:35, 7F

05/03 11:35, , 8F
像chrome瀏覽器都還可以直接在event listening裡看到
05/03 11:35, 8F

05/03 11:36, , 9F
點擊後還能幫你直接跳到程式碼裡面呢
05/03 11:36, 9F

05/03 11:36, , 10F
常寫較大的專案就知道了 第二種的可維護性>>>>>第一種
05/03 11:36, 10F

05/03 11:37, , 11F
補充 chorme瀏覽器你可以直接在元素上點右鍵"檢查元素"
05/03 11:37, 11F

05/03 11:38, , 12F
在DOM樹狀裡點擊要檢查的元素後,右邊的元素細節裡就有
05/03 11:38, 12F

05/03 11:38, , 13F
一欄是Event Listeners 那邊可以直接跳到程式碼所在
05/03 11:38, 13F

05/03 12:10, , 14F
原來如此 @@
05/03 12:10, 14F
原來如此 謝謝各位大大清楚的解說,看來還是第二種寫法比較好一點! ※ 編輯: godgiraffe 來自: 60.250.50.43 (05/03 12:39)

05/03 15:46, , 15F
個人超討厭看到第一種 看到能改都會改掉
05/03 15:46, 15F

05/03 18:39, , 16F
樓上+1
05/03 18:39, 16F

05/04 16:27, , 17F
忘了加 # ... lol
05/04 16:27, 17F
※ 編輯: godgiraffe 來自: 60.250.50.43 (05/09 13:45)
文章代碼(AID): #1HWoc7t1 (Ajax)
文章代碼(AID): #1HWoc7t1 (Ajax)