※ 引述《knives ()》之銘言:
: 標題: [問題] jquery bind事件觸發
: 時間: Wed Nov 16 16:38:07 2011
:
: http://jsfiddle.net/h36dQ/
:
: 我希望在$('#cl2') 按下去的時候,把原來的$('#cl')的hover事件取消掉
:
: 並且在$('#cl')綁定一個新的click事件
:
: 可是我這樣寫的話,當我按下c12的時候,它就會立刻觸發$('#c1')的click事件
:
: 這並不是我要的結果,我希望只有我手動按下#c1才會觸發click事件
:
: 請問那裡要改
:
: 謝謝回答
:
: --
: ┬─┬─┬─████◣ ┌─┬─┬┬─┬─╭────────────╮┬██
: ┴┬ ◣┴┬ ◢ ◥▌ ├─ ◢██◣┴┬│你偷吃, 鄭先生有看到。│┴ ◢
: ─┴ 洨 ┬┴◢◤□︵□▌+ ├┬:█: ◥▌┴╰────────────╯┬◢◤
: ─┬ ㊣ ┴┬◤ ╰ ◤ ├ ∴ ︰□︵□▌┬┴┬┴┬┴┬─┬┴┬ made by ◤
: ┬┴┬─┬┴ ◢▼ ├┬┴◥ )●◤▅┴┬┴┬┴┬┴┬┴┬┴ orz ◢
: ┴┬┴┬┴┬◢◤ ├┴┬◢ │◣◤┬┴─┴┬┴─┴┬┴┬ ⊙Ptt ◢◤
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 59.126.209.219
: 推 mrbigmouth:$('#c1').bind('click',function(){ $('#sh').html($(' 11/16 17:08
: → mrbigmouth:#rel2').html());}); 11/16 17:09
: → mrbigmouth:或者在之前用var宣告一個變數接收add2 function的內容 11/16 17:09
: 推 exboyfriend:你有發現你打錯字了嗎 c1 跟 cl 11/16 17:10
: 已改了
: → mrbigmouth:再把該變數傳入bind('click') 11/16 17:10
: → mrbigmouth:你直接在傳入變數的地方放add2() 傳入的會視add2()的re 11/16 17:10
: → mrbigmouth:turn值 而不是該function 11/16 17:10
: → mrbigmouth:所以才會在bind的同時就直接執行add2()了 11/16 17:11
:
: 感謝回答,照你的做法,是可以work
: 所以我bind 要bind的function 要另外重新抄寫add2()一次
:
: 而不能直接呼叫add2();
:
: 即使add2(); 裡面的程式碼非常長,也是一樣
:
: 完全沒有辦法重覆利用add2()裡面的程式碼囉
:
: 謝謝回答
推文有說了
宣告變數存function再傳入即可
var add2=function(){
$('#sh').html($('#rel2').html());
};
$('#cl').unbind('mouseenter').unbind('mouseleave').bind('click',add2);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.60.80