我使用的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