Предотвращение события изменения jQuery от запуска через .val ()

0

У меня есть выпадающее меню, которое инициализируется программно, используя jquery.val(). Для этого элемента есть событие изменения, которое должно работать по-разному в зависимости от того, изменяется ли пользователь или изменяет его программно через $ select.val(). Каков наилучший способ достичь этого?

$select.change(function() {
    // always execute:
    ...
    // don't execute on .val(): [how to check this?]
    ...
});
  • 1
    Покажите свой код, пожалуйста.
  • 0
    Можете ли вы предоставить код? Вы пробовали что-нибудь?
Показать ещё 1 комментарий
Теги:

1 ответ

1

Вы всегда можете использовать стандартную функцию addEventListener для элемента DOM, которая не будет срабатывать, когда вы используете функцию jquery val для установки значения.

document.getElementById('myOption').addEventListener('change', function(){
    alert('value changed by user to: ' + this.value);
});

Теперь даже если вы используете jquery для изменения значения $('#myOption').val(3) он не инициирует событие.

FIDDLE

Ещё вопросы

Сообщество Overcoder
Наверх
Меню