There is nothing wrong with your code, nor any "better" way to code it. This is just something that jsHint does, perhaps only because some people make mistakes with the use of this
in other types of callbacks.
There is a comment you can insert into your code that will tell jsHint to ignore this particular use. I will go look and see if I can find it and add it to my answer if I find it. You can use the validthis
option for jsHint: http://www.jshint.com/docs/options/#validthis to ignore this warning for a specific function.
I haven't tried it myself, but according to the documentation, you can add this to the function:
/* jshint validthis: true */
Or, a configuration file can be used with jshint that changes the default for this option (you'd have to figure out how to do that within your IDE).