我试图获得我的输入值,但它说鼠标事件。如果我只调用这个函数而不是eventListener,它会说undefined。
let btn = document.getElementById('btn');
let pra = document.getElementById('inp1').value;
let cont = document.getElementById('container')
function execute(pra) {
let newElemet = document.createElement('p');
newElemet.innerHTML = pra;
cont.appendChild(newElemet)
}
btn.addEventListener('click', execute)
<div id="container">
<input id="inp1" type="text">
<button id="btn">Add</button>
</div>
有两个问题
-
事件处理程序的
pra
参数表示事件(如您所说的鼠标事件),遮蔽了pra
全局变量。您可以删除参数以摆脱遮蔽。 -
全局
pra
变量包含加载脚本时存在的值(空)。您需要让pra
代表输入元素。
let btn = document.getElementById('btn');
let pra = document.getElementById('inp1');
let cont = document.getElementById('container')
function execute() {
let newElemet = document.createElement('p');
newElemet.innerHTML = pra.value;
cont.appendChild(newElemet)
}
btn.addEventListener('click', execute)
<div id="container">
<input id="inp1" type="text">
<button id="btn">Add</button>
</div>