более чистый способ вызова функции события изменения в javascript

#javascript

#javascript

Вопрос:

У меня есть рабочая функция, которая встроена в select тег вот так.

 <select onChange="myfunc()" id="some_id">
  

Очевидно, что при изменении раскрывающегося списка, myfunc() запустится и получит обновленное значение параметра.

Но поскольку я не хочу смешивать javascript и html, есть ли гораздо более чистый способ сделать это вместо встраивания функции в select тег?

Я понимаю, что добавление прослушивателя событий может быть вариантом, но я действительно не знаю, как заставить его работать для выполнения той же задачи.

Я пытался использовать приведенный ниже код, но пока безуспешно. значение не меняется.

 addEventListener("change", myfunc, false);
  

Комментарии:

1. Я могу, но я хочу использовать чистый js как можно чаще.

2. addEventListener Не является ли это методом объекта DOM, а не самостоятельной функцией? (Не спрашивайте меня, я использую jQuery.) В любом случае в вашем addEventListener коде, должно быть, чего-то не хватает, поскольку в нем даже не упоминается рассматриваемый объект DOM.

Ответ №1:

Хорошо, если вы хотите сделать это в отдельном файле. Включите jQuery иseperate_file.js в вашем документе.

Как только вы закончите. В отдельном файле напишите этот код

 $(document).ready(function () {
   $('some_id').change(function () {
      alert("Change handled in other file");
   });
});
  

Это сработало бы для вас. Если ссылка правильная. Вы получите оповещение о переданном ей сообщении.

Комментарии:

1. возможно ли это с использованием чистого js (без использования jquery)?

2. Нет, я не думаю, что чистый JS сделал бы это.

3. jQuery построен на чистом javascript. Если jQuery может это сделать, то javascript может сделать это сам.