返回列表 發帖
因為你在  document ready 時寫觸發,但是那時候的 id「aaa」並不存在,有兩種做法:

  • 在 ajax success 的 callback 內寫觸發 event
  • 如果是用 jquery 1.3 以上的版本,可以改用 live() 寫觸發 event,一開始 #aaa 不存在也沒關係
To infinity and beyond!

TOP

使用 live 應該是把 event handler 綁在 document.body,所以即使 element 一開始不存在,等 element 出現時馬上就有作用,其實是 document.body 的事件驅動,藉此模擬該 elment 的事件驅動。

在 callback 內才 bind 大致像這樣:
  success: function(content) {
    $("#mDiv").html(content);
    //這時才去 bind
    $('#aaa').click(function() {...});
  } 
To infinity and beyond!

TOP

理論上使用 live 效能應該比較差一點點,不過差異到底多少,會不會影響使用者的感覺,可能要試過才知道。你可以用大量的 live 去綁定事件來測試看看。

第 2 種寫法應該是 ok 的,很一般的寫法。
To infinity and beyond!

TOP

我是沒試過,不過如果用 live 不支援 focus 和 blur 的話,就得用正常的方式綁定事件囉。

多組的話就寫多次即可。不過是要觸發 div 的什麼呢?
To infinity and beyond!

TOP

寫 10個 click 觸發還 ok 啦,不過如果設計成用共一個 handler 來處理會比較好。

如果你要做 editable textbox 可以找現有的 jquery plugin,或許有適合的。
http://www.appelsiini.net/projects/jeditable
http://www.arashkarimzadeh.com/i ... -jquery-plugin.html
To infinity and beyond!

TOP

返回列表 回復 發帖