Javascript 警报根本不显示
Javascript alert not displaying at all
我有这个功能,我认为只要点击我页面中的一个按钮就会触发警报,但是没有任何反应,如果我在网页上打开控制台,也没有显示错误。这是为什么?
document.addEventListener('DOMContentLoaded' , () => {
document.querySelectorAll('.new-button').forEach (button => {
button.onclick = () => {
const buttonName = button.innerHTML;
alert(`you have selected the button! ${buttonName}`);
}
});
});
如果有帮助的话,我正在使用 JavaScript 的 ES6 版本。
如果动态添加元素,则必须将 eventListener
附加到静态添加的某个祖先元素。 document
有效,但您可以添加更具体的元素以提高性能。这个概念叫做delegate listener.
document.addEventListener('click',function(e){
if(e.target && e.target.matches('.new-button')){
const buttonName = e.target.innerHTML;
alert(`you have selected the button! ${buttonName}`);
const newButton = document.createElement('button');
newButton.classList.add('new-button');
newButton.innerHTML = 'click me!!';
document.getElementById('container').append(newButton);
}
});
<div id="container">
<button class="new-button">click me!</button>
</div>
我有这个功能,我认为只要点击我页面中的一个按钮就会触发警报,但是没有任何反应,如果我在网页上打开控制台,也没有显示错误。这是为什么?
document.addEventListener('DOMContentLoaded' , () => {
document.querySelectorAll('.new-button').forEach (button => {
button.onclick = () => {
const buttonName = button.innerHTML;
alert(`you have selected the button! ${buttonName}`);
}
});
});
如果有帮助的话,我正在使用 JavaScript 的 ES6 版本。
如果动态添加元素,则必须将 eventListener
附加到静态添加的某个祖先元素。 document
有效,但您可以添加更具体的元素以提高性能。这个概念叫做delegate listener.
document.addEventListener('click',function(e){
if(e.target && e.target.matches('.new-button')){
const buttonName = e.target.innerHTML;
alert(`you have selected the button! ${buttonName}`);
const newButton = document.createElement('button');
newButton.classList.add('new-button');
newButton.innerHTML = 'click me!!';
document.getElementById('container').append(newButton);
}
});
<div id="container">
<button class="new-button">click me!</button>
</div>