Jquery widget обратный вызов. Получение функции для стрельбы
-
14-10-2019 - |
Вопрос
Я добавил обратный вызов в виджет jQuery. Он выведет данные в консоли, но как я могу применить что -то к данным на странице?
Пример...
В моих параметрах виджетов я сделал следующее доступным для получения ввода:
complete : ''
и также добавили метод в виджет:
_complete : function(data) {
if(this.options.complete) {
console.log(data);
}
}
В другом методе виджета я делаю вызов Ajax, а затем вызов используйте это _complete
метод стрельбы после того, как Ajax закончил как:
self._complete(self.options.complete);
Поэтому, если, когда я использую виджет, я передаю что -то complete
вариант как SO:
complete : function(){$('.gridrow').css('background-color','#FFF');}
Я увижу этот вывод в консоли как:
function(){$('.gridrow').css('background-color','#FFF');}
Но я действительно хочу на самом деле применить это к коду, чтобы это изменило цвет фона классов сетки.
Я могу передать все и получить его вывод в консоли, но как я на самом деле применить это на странице?
Решение
Я не уверен, почему вам нужно пройти в complete
функционируйте на ваш _complete
Функция, конечно, вы можете просто проверить это, а затем выполнить его. Ключевое изменение в том, что вы должны вызвать complete
функция с помощью ()
:
_complete : function() {
if (this.options.complete) {
this.options.complete(); // execute the input function
}
}
Если вы хотите войти в результат этой функции в консоли, убедитесь, что complete
Возвращает значение:
complete : function() { return $('.gridrow').css('background-color','#FFF'); }
Затем:
_complete : function() {
if (this.options.complete) {
console.log(this.options.complete()); // print the result
}
}