Re: [討論] [jQuery] 相同 class 的按鈕對應到個別 …
以效能來說的話可能用 if 或是 switch 應該都會是較快的方法
可是如果 div 的元件一多... if 或是 switch 的判斷式就會變得很長很...醜...囧
而且一改 button 數量... if 跟 switch 又要再改一次
後來我是用 associative array + div 內的 id 做 key 搞定這問題了
之後要擴充的話只要有 event function + 指派 key -> event function 就好了
大概的程式如下:
/* 這邊把 function 按照不同 key 去做 assign */
var event1 = function() {
alert('event1');
}
var event2 = function() {
alert('event2');
}
var event_table = new Array();
event_table['id1'] = event1;
event_table['id2'] = event2;
/* assign click_event 給 class 為 button 的元件 */
$(".button").click(click_event);
var click_event = function() {
event_table[this.id](); //呼叫 function
}
※ 引述《lovelycateye (我還想要更多力量)》之銘言:
: 基本上我還是覺得給id比較好用。
: 下面是如果是我的話,我會這樣寫,看起來會像是個控制中心。
: 可以把alert換成各個你自己寫的function或是直接寫你要的code。
: 希望能有人來打擊一下我的寫法,我才開始碰程式不到一年,需要人糾正。
: <div class="button" id="btn1">button 1</div>
: <div class="button" id="btn2">button 2</div>
: <div class="button" id="btn3">button 3</div>
: <div class="button" id="btn4">button 4</div>
: <div class="button" id="btn5">button 5</div>
: <script type="text/javascript">
: function switchCenter(e){
: switch(this.id){
: case 'btn1':
: alert(1);
: break;
: case 'brn2':
: alert(2);
: break;
: default:
: alert('others');
: }
: }
: $('.button').click(switchCenter);
: </script>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.31.54
※ 編輯: kaijajan 來自: 61.222.31.54 (03/18 09:46)
※ 編輯: kaijajan 來自: 61.222.31.54 (03/18 09:48)
推
03/26 15:54, , 1F
03/26 15:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章