[問題] jquery中,e.target跟this的差別?
小弟最近在練習jquery的fadeOut和remove
現在我在html檔中有一個ul:
<li class="todoItem"><span class="delete"> x </span>bla</li>
我希望的功能是點了x之後list item會消失
所以我寫的jquery如下:
$(".delete").click(e =>
$(e.target)
.parent().fadeOut(150, e => $(e.target).remove())
)
執行後有達到我預期的效果,
但看console會得到以下訊息:
TodoList.js:9 Uncaught TypeError: Cannot read property 'target' of undefined
at HTMLLIElement.$.parent.fadeOut.e (TodoList.js:9)
at HTMLLIElement.opt.complete (jquery-3.2.1.js:7236)
at fire (jquery-3.2.1.js:3317)
at Object.fireWith [as resolveWith] (jquery-3.2.1.js:3447)
at tick (jquery-3.2.1.js:7079)
at Function.jQuery.fx.tick (jquery-3.2.1.js:7405)
at schedule (jquery-3.2.1.js:6783)
但我如果改寫把上面的程式碼稍微改寫:
$(".delete").click(e =>
$(e.target)
.parent().fadeOut(150, function(){$(this).remove()})
)
那程式運行OK也不會出現上述的error訊息
我以為e.target跟this應該是一樣的?
所以我不知道為什麼會有這個差異。
想請問一下我的理解哪裡有問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 128.125.208.229
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1516350681.A.EF7.html
推
01/19 16:37,
6年前
, 1F
01/19 16:37, 1F
→
01/19 16:37,
6年前
, 2F
01/19 16:37, 2F
→
01/19 17:36,
6年前
, 3F
01/19 17:36, 3F
→
01/19 17:38,
6年前
, 4F
01/19 17:38, 4F
推
01/19 18:05,
6年前
, 5F
01/19 18:05, 5F
嗚喔喔 我現在知道怎麼改了但不知道這些怎麼來的
基礎不穩QQ,我再回去查一下相關的東西
※ 編輯: NCKUFatPork (128.125.208.229), 01/19/2018 18:16:35
→
01/19 18:32,
6年前
, 6F
01/19 18:32, 6F
推
01/20 18:41,
6年前
, 7F
01/20 18:41, 7F
→
01/21 19:36,
6年前
, 8F
01/21 19:36, 8F
推
01/23 12:22,
6年前
, 9F
01/23 12:22, 9F
→
01/24 07:13,
6年前
, 10F
01/24 07:13, 10F
→
01/24 07:13,
6年前
, 11F
01/24 07:13, 11F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章