Я работаю над большим приложением, в котором много JS-модулей. В одном из них используется этот код:jQuery.on ('change') not firing
var tinput = tmpl.find('[name="Filter[TravelTime][Selected]"]');
tinput.val(ui.value);
tinput.trigger('change');
Он просто меняет значение скрытого ввода и состояния «изменения силы» на нем.
В другой части у меня есть эта простая функция:
$('body').on('change', selectorSlider, function(){
console.log('fired');
});
, что он должен сделать, это показать журнал, когда изменяется значение входного - но это не срабатывает. Я попытался также таким образом:
$(selectorAvailableHolder).find(selectorSlider).on('change', function(){...}
Также нет успеха. Единственный способ сгореть случай является использование чистого .onchange:
$(selectorAvailableHolder).find(selectorSlider).get(0).onchange = function() {...}
И это работает ... кроме одной проблемы - selectorSlider не всегда доступна на документе готов (генерируется из АЯКС запроса и кэшируются, поэтому он работает при кэшировании - поскольку он доступен прямо на stert, но не когда он не кэшируется - так как мне нужно ждать ответа ajax, который занимает несколько секунд).
Есть ли способ отладить это и найти причину, по которой событие изменения не распространяется правильно?
В коде могут быть какие-то опечатки, так как я нахожу его прямо здесь (без доступа к оригиналинному коду прямо сейчас).
selectorSlider определяется следующим образом:
var selectorSlider = '[name="Filter[TravelTime][Selected]"], [name="Filter[FlightTime][Selected]"]';
что 'selectorSlider' здесь? объект, переменная, если селектор, то что это такое? –
Я добавил информацию о selectorSlider на вопрос. –