作者TonyQ (沉默是金。)
看板Ajax
標題Re: [ js ] jquery live event的問題
時間Sun Apr 18 10:55:23 2010
※ 引述《rexkimta (冷杉林)》之銘言:
: --
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 140.114.217.84
: 推 tomin:你自己複製一下貼上來的code 還是只會alert 1次呀 04/18 01:17
: 推 tomin:http://sites.google.com/site/tominxd/card.html 04/18 01:28
: → tomin:我試是只有1次呀 04/18 01:28
: → rexkimta:耶,我發現問題在那了…我這段程式碼寫在ajaxcomplete裡 04/18 01:34
: → rexkimta:把這段寫在$.getjson的callback裡就可以了…… 04/18 01:35
: → rexkimta:和我之前以為的問題點不一樣= = 不過還是不知道為什麼會 04/18 01:36
: → rexkimta:這樣。 04/18 01:36
: → rexkimta:另外,.card裡的圖檔檔名是透過ajax抓回來的。 04/18 01:37
: → rexkimta:而.card是ajax抓完後才產生的,所以要寫在callback裡。 04/18 01:38
簡單來說綁定的動作執行至少兩次才會發生這種情形 ,
另外你請重新思考一下 live 的定義 ,
live 就是不需要在意元素是否存在與否 .
(他綁定的不是特定對象, 而是特定條件)
所以如果你是要用 live , 我會建議你乾脆在一開始載入的時候就綁好,
不需要等特定時間點再來進行綁定.
簡單來說:
想要在特定時間點針對特定條件元素綁定 -> click
如果是想要針對某些會不確定的一直異動的特殊條件元素綁定 -> live click
把 live 跟 click 誤混著用很容易發生這種事情...
把整個 js 在這段期間內到底幹了什麼事 ,
用firebug breakpoint 一步一步去 trace 會瞭解更多 .
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 116.59.145.191
※ 編輯: TonyQ 來自: 116.59.145.191 (04/18 10:55)
1F:推 rexkimta:謝啦,我本來是用click的,後來發現之後會新增一些card 04/18 14:20
2F:→ rexkimta:看了這篇才知道可以不用寫在callback裡。 04/18 14:21