Re: [ js ] jquery live event的問題
如果不用remove的code:
var count=0;
$('.player .card').live( 'click', function() {
var s = $(this)
inhand = s.parent().hasClass('hand'),
ontable = s.parent().hasClass('table');
//r = s.clone();
count++;
if ( inhand ) {
s.appendTo('.player .table');
} else if ( ontable ) {
s.appendTo('.player .hand');
}
//s.remove();
alert(count);
});
剛剛發現其實這樣也可以,
只不過牌會馬上移回來。
還是老問題…點一下會作兩次。
※ 引述《rexkimta (冷杉林)》之銘言:
: HTML大概是這樣:
: <div class="player">
: <div class="table">
: </div>
: <div class="hand">
: <div class="card"><img scr="..." /></div>
: </div>
: </div>
: 目標就是點div.card時,
: 如果它在.hand裡,就移到.table,
: 反之亦然。
: remove是因為要有移動的感覺,
: 所以某張牌被append到另一邊時,
: 在這邊的就要被remove掉。
: ※ 引述《tomin (Schrödinger's cat)》之銘言:
: : 我試不出你說的問題 都只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.114.217.84
推
04/18 01:17, , 1F
04/18 01:17, 1F
推
04/18 01:28, , 2F
04/18 01:28, 2F
→
04/18 01:28, , 3F
04/18 01:28, 3F
→
04/18 01:34, , 4F
04/18 01:34, 4F
→
04/18 01:35, , 5F
04/18 01:35, 5F
→
04/18 01:36, , 6F
04/18 01:36, 6F
→
04/18 01:36, , 7F
04/18 01:36, 7F
→
04/18 01:37, , 8F
04/18 01:37, 8F
→
04/18 01:38, , 9F
04/18 01:38, 9F
討論串 (同標題文章)
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章