在事件委託中使用箭頭函式產生錯誤
阿新 • • 發佈:2018-12-03
$("#tempbox").on("click","#del",function(){ var id = $(this).parents("tr").attr("data-id") $.ajax({ type: "get", url: "http://127.0.0.1:5001/delhero/"+id, success: function (res) { if(res.status===200){ render(); } } }) })
如上使用普通函式是沒有問題的 打印出的$(this)為w.fn.init [button#del.button.ui.red];
$("#tempbox").on("click","#del",()=>{ console.log($(this)); var id = $(this).parents("tr").attr("data-id") $.ajax({ type: "get", url: "http://127.0.0.1:5001/delhero/"+id, success: function (res) { if(res.status===200){ render(); } } }) })
如上使用箭頭函式打印出的$(this)為w.fn.init [document];
結論 凡是在選擇函式的使用上務必要分清this的指向!