Это даже проще, просто ссылаться на функции, а this-value
будет элемент
$("#btnminus").mousedown(btnPressed);
При вызове функции внутри другой анонимной функции, без контекста, то this-value
будет window
(в небрежном mode, в строгом это будет undefined
), а не элемент, потому что это контекст исполнения по умолчанию, когда ничего не указано.
Здесь some examples о том, как установить this-value
при вызове функции внутри дескриптора события.
Как JSLint имеет огромное количество глупости встраиваемый, и Линц всякие вещи, которые не neccessarely проблема, вы можете либо
- прекратить использование его
- Игнорировать ошибку, так как это причина по
this
в функции, которая JSLint не знает, что такое
- добавить
this: true
директиву в файл, чтобы сделать JSLint игнорировать такие ошибки
-
/*jslint this: true*/
"use strict"
function btnPressed() {
$(this).animate({width: "95%", height: "95%"}, 50);
}
$("#btnminus").mousedown(btnPressed);
проверит
Благодарим Вас за исчерпывающий ответ. Однако JSLint по-прежнему строит жесткие нарушения для этого '$ (this) .animate ({width:" 95% ", height:" 95% "}, 50);' строка кода. – Willege
@Willege - Я также обновил ответ на адрес. – adeneo
Теперь программа останавливается на комментарии, а «this» в комментарии также помечена как неожиданная. – Willege