Эти две строки кода просто инициируют событие изменения на this.element
, используя два разных допустимых синтаксиса.
Используя .trigger () :
this.element.trigger('change');
Или используя сокращенный метод .change () :
that.element.change();
Вы можете фактически привязать обработчик события к элементу, представленному this.element
, для обработки этого события.
Не зная вашего плагина, трудно точно ответить вам, что такое this.element
.
Но возьмем пример плагина автозаполнения.В этом случае this.element
фактически является полем ввода, к которому применяется плагин автозаполнения.Если событие изменения было инициировано так, как это было сделано в вашем вопросе, вы можете привязать обработчик события к входу следующим образом:
$('#myinput')
.autocomplete()
.bind('change', function() { });
Теперь, если этот плагин использует виджет jQuery UIFactory , рекомендуется использовать метод _trigger()
для запуска событий вместо jquery .trigger ().
Использование _trigger () обязательно выполнит любой обратный вызов, определенный в параметре плагина с помощьюправильный контекст, а также вызвать это событие для this.element
(как выше).Таким образом, вы могли бы иметь:
$('#myinput')
.somePlugin({
change: function(e, someData) {
// "this" here will be `this.element´
}
})
.bind('change', function() { ... });