Re: [ js ] jquery live event的問題
※ 引述《rexkimta (冷杉林)》之銘言:
: //var count=0;
: $('.player .card').live( 'click', function() {
: var s = $(this)
: inhand = s.parent().hasClass('hand'),
: ontable = s.parent().hasClass('table');
: r = s.clone();
: s.remove();
: //count++;
: if ( inhand ) {
: $('.player .table').append(r);
: } else if ( ontable ) {
: $('.player .hand').append(r);
: }
: //alert(count);
: });
: 我想寫一段code,能在點一下牌後,
: 如果是在table上就回到hand
: 在hand就放到table,
: 成品就如上面的code。
: 現在問題是如果把count的註解部分拿掉,
: click一次count會alert兩次,
: 但是數字不會增加。
: 用firebug去看的話,
: code也是會經過兩次。
: 雖然把count的部分註解掉看起來就完全正常,
: 但是這個問題相當令人困擾……
: 另外,要達到相同效果,
: 有沒有別的寫法比較不容易有問題的?
: 感謝大家。
我試不出你說的問題 都只alert 1次
是不是多提供點資訊呢 例如HTML長怎樣?
無論是模仿你的寫法 (我尤其不懂為什麼要remove 移掉後就不能live click了呀)
<script type="text/javascript">
$(function(){
var count=0;
$("#a").live("click",function(){
var s=$(this);
r = s.clone();
s.remove();
count++;
('#b').append(r);
alert(count);
});
});
</script>
<div id="a">aaaa</div>
<div id="b">bbbb</div>
或是類似的寫法
$(function(){
var count=0;
$("#a").live("click",function(){
count++;
$("#a").clone().appendTo('#b');
alert(count);
});
});
</script>
<div id="a">aaaa</div>
<div id="b">bbbb</div>
看起來live, clone, remove都不會造成有兩次的問題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.30.140
推
04/18 10:50, , 1F
04/18 10:50, 1F
→
04/18 11:13, , 2F
04/18 11:13, 2F
→
04/18 11:14, , 3F
04/18 11:14, 3F
討論串 (同標題文章)
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章