作者kaijajan (喔喔 :o)
看板Ajax
標題[討論] [jQuery] 相同 class 的按鈕對應到個別的事件?
時間Wed Mar 17 10:41:15 2010
這可能不算是 jquery 的問題吧 囧
我弄了一個選單...為求方便所以透過 class 設定每一個按鈕的 style
但是碰到要設定每個按鈕要設定各別在按下後執行不同的事件
不知道要從那邊去指定每個按鈕的事件
因為透過 selector 選進來的是 button array
目前只有想到可能在每個 button 加上特定的 attribute 去做辨別
然後用 if else 去判斷並執行個別正確的事件
不知道 jQuery 是否有提供較好的機制去做像這樣的事呢
按鈕的部份大致長像這樣子
<div class="button">button 1</div>
<div class="button">button 2</div>
<div class="button">button 3</div>
<div class="button">button 4</div>
<div class="button">button 5</div>
目前是想到可能在每個 div 後面再加上一個 attribute
然後 javascript 的部份
$(".button").each(function(){
if($(this).attr('attr1') == "")
...
});
用這樣的方式去做判別
可是這樣子的效能似乎不是很好
因為每按一次就會去檢查所有的 button 一次
或是指定一個 click 的 function 給所有的 button
$(".button").click(function(){
if($this).attr('attr1') == "")
...
});
感覺都是蠻笨的做法
Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.31.54
※ 編輯: kaijajan 來自: 61.222.31.54 (03/17 10:44)
1F:推 lindo0130:我覺得用id,style部份link css檔處理應該比較方便 03/17 11:05
2F:→ lindo0130:ex. #btn1, #btn2, #btn3{color:red;} (in xxx.css) 03/17 11:06
3F:→ TonyQ:class又不只限一個 @_@ 另外設立自己的class或id就好啦. 03/17 11:14
4F:→ grence:$(".button").click(function(event){//use event.target 03/17 19:34
5F:推 lovelycateye:如果要跑的function沒共通性,用id個別指定比較好? 03/17 22:34
6F:→ lovelycateye:如果有共通性,指定一個共同的funtion再做switch 03/17 22:35
7F:→ lovelycateye:想了一下,也可以考慮用get()取所有跑回圈,但是有 03/17 23:03
8F:→ lovelycateye:缺點:各個function名稱可能要用流水號來命名。 03/17 23:03
9F:→ lovelycateye:所以我還是會想用我回文的方法,可以比較明瞭。 03/17 23:04
10F:→ lovelycateye:switchCenter是controller 裡面各個alert當成model 03/17 23:05
11F:推 mesak:亂入一下 $(".button").eq(1).click 03/29 01:49