#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 может сделать это сам.