作者mrbigmouth (拒绝崩溃的蒲公英)
看板Ajax
标题Re: [问题] jquery bind事件触发
时间Wed Nov 16 21:18:00 2011
※ 引述《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