作者godgiraffe (小鹿)
看板Ajax
标题[问题] 为何要使用 bind 呢?
时间Fri May 3 11:05:40 2013
各位大大好
写 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)
1F:推 lgzenith:主要目的是HTML Javascript明确的分开 05/03 11:31
3F:→ MangoTW:匿名 05/03 11:32
4F:推 mrbigmouth:第一种作法在做大专案时 哪天某名白目给你在同页面的 05/03 11:33
5F:→ mrbigmouth:某个角落加了另一个名叫send_msg的函式你就要哭了 05/03 11:33
6F:→ mrbigmouth:找bug都找不到在哪 05/03 11:33
7F:→ mrbigmouth:第二种写法debug时可以直接检查该元素的event bind 05/03 11:35
8F:→ mrbigmouth:像chrome浏览器都还可以直接在event listening里看到 05/03 11:35
9F:→ mrbigmouth:点击後还能帮你直接跳到程式码里面呢 05/03 11:36
10F:→ mrbigmouth:常写较大的专案就知道了 第二种的可维护性>>>>>第一种 05/03 11:36
11F:→ mrbigmouth:补充 chorme浏览器你可以直接在元素上点右键"检查元素" 05/03 11:37
12F:→ mrbigmouth:在DOM树状里点击要检查的元素後,右边的元素细节里就有 05/03 11:38
13F:→ mrbigmouth:一栏是Event Listeners 那边可以直接跳到程式码所在 05/03 11:38
14F:推 duck10704:原来如此 @@ 05/03 12:10
原来如此 谢谢各位大大清楚的解说,看来还是第二种写法比较好一点!
※ 编辑: godgiraffe 来自: 60.250.50.43 (05/03 12:39)
15F:→ Yadsmood:个人超讨厌看到第一种 看到能改都会改掉 05/03 15:46
16F:→ s25g5d4:楼上+1 05/03 18:39
17F:推 matrixki:忘了加 # ... lol 05/04 16:27
※ 编辑: godgiraffe 来自: 60.250.50.43 (05/09 13:45)