#javascript #html #dom
#javascript #HTML #dom
Вопрос:
Я практикую события DOM и замечаю, что я могу использовать addEventListener или метод onclick для запуска функции при нажатии на кнопку, но я хочу знать, есть ли какая-либо логическая разница между ними? Что мы должны использовать, когда? Я довольно новичок в программировании.
Вот мой код,
<!DOCTYPE html>
<html>
<body>
<h2>Testing</h2>
<button id="myBtn-1">BUTTON-1</button>
<button id="myBtn-2">BUTTON-2</button>
<p id="demo"></p>
<script>
//Event for button 1
document
.getElementById('myBtn-1')
.addEventListener('click', displayDate);
//Event for button 2
document.getElementById('myBtn-2').onclick = displayDate;
//function to get the current date and time
function displayDate() {
document.getElementById('demo').innerHTML = Date();
}
</script>
</body>
</html>
Комментарии:
1.
onclick=
может иметь только одно значение, если вы назначите его дважды, будет вызвано только второе …addEventListener('click',
может добавляться много раз, и ВСЕ добавленные обработчики будут вызываться (в зависимости от того, что происходит внутри обработчика)
Ответ №1:
Основное отличие заключается в том, что onclick — это просто свойство. Как и для всех свойств объекта, вам может быть назначено одно встроенное событие. Если вы пишете более одного раза, он будет перезаписан. С другой стороны, addEventListener() может иметь несколько обработчиков событий, применяемых к одному и тому же элементу. Он не перезаписывает другие существующие обработчики событий.
вот хорошая ссылка https://medium.com/@tshlosberg/addeventlistener-vs-onclick-which-one-should-you-use-47550d7e7487