作者a517981 (Azure)
看板Ajax
標題Re: [問題] 註冊Click事件的效能問題
時間Mon Apr 4 02:07:26 2011
借這個標題問一個問題
假設有以下兩種情況
情況一(用jQuery綁定事件)
<input type="button" class="a" alt="1" />
<input type="button" class="a" alt="2" />
<script type="text/javascript">
$(".a").click(function(){
var obj=$("this");
alert(obj.attr("alt"));
})
</script>
情況二(直接在DOM中加入事件)
<input type="button" class="a" onclick="fn(1);" />
<input type="button" class="a" onclick="fn(2);" />
<script type="text/javascript">
function fn(tempNumber){
alert(tempNumber);
}
</script>
這兩種寫法哪一種比較有效率呢?
假如前提是一定會載入jQuery函式庫
版上的前輩們通常會用哪種寫法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.224.137
※ 編輯: a517981 來自: 111.254.224.137 (04/04 02:08)
1F:推 s25g5d4:第一種會比較好整理... 而且要拔掉也比較方便 04/04 08:51
2F:推 ShieChang:當然是2阿....問題是除非大量使用,不然要效率幹麻 04/04 10:51
3F:推 s0300453:考慮維護的方便性 1 考慮撰寫的效率 2 04/04 14:17
4F:推 scribeTW:我會用1. 但是分開綁定。有點用JS強化使用者體驗的感覺 04/04 14:19
5F:→ grence:只用 1 04/05 17:34
6F:→ okis0531:看你的效率是撰寫的效率還是維護的效率囉 後者的話選1 04/05 21:34
7F:推 wa120:效率只差在DOM吧? 04/07 00:40
8F:推 s25g5d4:JQ的寫法 還要考慮整個流程的執行 所以會比較慢 04/07 19:49
9F:→ s25g5d4:應該用原生的getElementById()比較公平 04/07 19:49
10F:→ s25g5d4:阿..要抓class...除了IE6以外 都有原生函數可以用拉.. 04/07 19:49