我使用的IDE(Cloud 9)包含JSHint,當它檢測到錯誤時給我一個警告。作爲一個原則,我嘗試糾正我的代碼以糾正這些錯誤。還有一個,我現在有我不能看到周圍的方式:爲什麼JSHint提醒我在回調函數中使用'this'?
$("#component-manager tr:not(.edit-component) td").on("click", function() {
if ($(this).index() !== 0) {
var checkbox = $(this).parent().find("input[name=component-selected]");
checkbox.trigger("click");
}
});
此代碼給我一個警告:「在回調函數‘this
’使用」。
我有兩個問題:
- 我應該怎麼做才能提高我的代碼,並擺脫這一警告的。
- 爲什麼在回調函數中不使用
this
更好的做法(因爲這是JSHint試圖推廣的)?
我會考慮在IDE中的錯誤或配置錯誤。在像這樣的jQuery回調中使用'this'是明確和熱情的鼓勵。 – Pointy
JShint不給我任何警告或錯誤。 –
您可以使用'function(e){$(e.target)...'而不是'function(){$(this)...' – lordvlad