Re: [問題] click事件,on的使用問題
※ 引述《flirmnave (焰離雨星)》之銘言:
: 我要在動態新增的物件上綁定 click 事件
: 一開始是使用 blind 但一直都沒辦法出現效果
: 搜尋過後 發現 動態新增的物件必須用 on 去綁定
: 下面這張是未新增的網頁結構
: http://i.imgur.com/rULb63i.jpg

: 然後動態新增了10個 li
: http://i.imgur.com/QK4F0Ch.jpg

: 而 jQuery 寫成這樣
: var SideItemzed = $('#content li');
: $(SideItemzed).on("click",function(){
: var SideItem = $(event.currentTarget);
這event倒底哪裡來的...
你下面會成功是因為有把參數傳給event
這邊event根本就不存在當然不成功...
還有SideItemzed本身已經是jQuery Object了
直接寫SideItemzed.on(...)這樣就行了 多一次selector只是浪費效能
另外如果是click事件的話
可以直接用SideItemzed.click(function to bind)來綁事件
可以不用用on來綁(雖然實際上一樣啦)
: SideItem.addClass('active');
: });
: 但發現他還是沒有觸發事件...
: 後來又把 jQuery 改成
: var SideItemzed = $('#content li');
: $(document).on("click", 'SideItemzed', function(){
: var SideItem = $(event.currentTarget);
: SideItem.addClass('active');
: });
這邊更不解釋了 程式碼越來越沒效率...
: 但還是沒有動作
: 請問各位 我是哪個觀念搞錯了呢??
: =========================================
: 囧... 剛剛PO完不久 我就試出來了
: 說一下我的解決方法
: 因為我那新增的物件是從 json 那裡接收資料的
: 所以我預先幫它加上 class = "newItem"
: 而跑出來的網頁就會變成
: http://i.imgur.com/N4DWoGv.jpg

: 然後 jQuery 改成
: $(document).on('click', '.newItem', function(event){
: var SideItem = $(event.currentTarget);
: SideItem.addClass('active');
: });
這邊不如用
$(".newItem").click(function(event){
...
})
: 這樣點選後就會有反應了
: http://i.imgur.com/cn2zkfO.jpg

: 供各位如果有遇到問題參考
: 或者有更好的方法
: 也請不吝指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.216.102
※ 編輯: danny8376 來自: 140.115.216.102 (10/04 19:02)
推
10/04 19:07, , 1F
10/04 19:07, 1F
→
10/04 19:17, , 2F
10/04 19:17, 2F
→
10/04 19:17, , 3F
10/04 19:17, 3F
推
10/04 19:22, , 4F
10/04 19:22, 4F
→
10/04 19:23, , 5F
10/04 19:23, 5F
→
10/04 19:23, , 6F
10/04 19:23, 6F
→
10/04 19:23, , 7F
10/04 19:23, 7F
→
10/04 19:23, , 8F
10/04 19:23, 8F
→
10/04 19:24, , 9F
10/04 19:24, 9F
→
10/04 19:24, , 10F
10/04 19:24, 10F
→
10/04 19:24, , 11F
10/04 19:24, 11F
→
10/04 19:25, , 12F
10/04 19:25, 12F
→
10/04 19:25, , 13F
10/04 19:25, 13F
→
10/04 19:26, , 14F
10/04 19:26, 14F
→
10/04 19:26, , 15F
10/04 19:26, 15F
→
10/04 19:27, , 16F
10/04 19:27, 16F
順便解釋一下
這行就是對id=content的DOM綁定click事件
然後告訴額外要求
只針對tag = li的DOM來觸發click事件
結果就是#content底下所有不管啥時出現的li都會觸發到#content上的那個click
這樣說好像不大對
應該說這click事件會因要求所以把事件繼續傳給li才去觸發事件
觸發的DOM仍然是li本身
※ 編輯: danny8376 來自: 140.115.216.102 (10/04 19:33)
推
10/04 19:35, , 17F
10/04 19:35, 17F
※ 編輯: danny8376 來自: 140.115.216.102 (10/04 19:39)
推
10/04 21:36, , 18F
10/04 21:36, 18F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章