@ganbatte

Как остановить jquery.on() в определенном input?

В фреймворке yii1.1 в TbGridView, в input хочу добавить ajax search. Но проблема в том, что все инпуты уже имеют событые jquery. Поэтому не могу добавить стандартные готовые решения c javascript. Мне нужно отключить эту событие в моем input. В Yii скрипт который слушает input - ы выглядит примерно так.
inputSelector = '#' + id + ' .' + settings.filterClass + ' input, ' + '#' + id + ' .' + settings.filterClass + ' select';
	$(document).on('change.yiiGridView keydown.yiiGridView', settings.filterSelector, function (event) {
.	if (event.type === 'keydown') {
						if (event.keyCode !== 13) {
							return; // only react to enter key
						} else {
							eventType = 'keydown';
							eventTarget = event.target;
						}
					} else {
						// prevent processing for both keydown and change events on the same element
						if (eventType === 'keydown' && eventTarget === event.target) {
							eventType = '';
							eventTarget = null;
							return;
						}
					}
}

То есть слушает, все input - ы. Я хочу поставить, свой инпут, рядом с этими инпутами. И можно ли как то изолировать этого слушателя от моего инпута, может какой то магический трюк существует ?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@ddegr
Программист, основатель и директор компании
Рецепт надо перепроверять и тестировать, но сработать должно.

  1. На input добавить класс или data-атрибут, который будет признаком для исключения из обработки
  2. Во время инициализации грида определяем свойство filterSelector таким образом, чтобы исключить input у которых прописан класс

    https://www.yiiframework.com/doc/api/1.1/CGridView...

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы