Мы все знаем, что использование val()
не инициирует событие change
, поэтому мы также используем .trigger('change')
за val()
.jQuery - Обнаружить изменение значения, которое использует функцию .val()
Но проблема в том, что кто-то пишет val()
did't с trigger()
, и это внешний файл, который я не могу отредактировать.
Итак, как я могу обнаружить изменение значения через некоторый код, так же, как показано ниже:
$('.elem').on('change', function(){
// do something
});
Почему бы не добавить свой собственный слушатель событий для элемента, а затем прослушивайте .trigger() событие оттуда? – Aweary
Возможно, вы захотите увидеть функцию 'watch': http://stackoverflow.com/questions/1029241/javascript-object-watch-for-all-browsers – naota
@naota Я делаю демонстрацию после изучения' watch': http: //jsfiddle.net/yujiangshui/yfo7rrn8/. Он работает, но код наблюдателя должен превышать код val(), и я устанавливаю 'setInterval' для контроля изменения значения. Это способ, но я думаю, что это не изящный способ. Или я неправильно использую? –