无法获取此输入的值

can't get the value of this input

我正在尝试获取我输入的值,但它说的是鼠标事件。如果我只是调用此函数而不是 eventListener ,则表示未定义。

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>

两个问题。

  1. 事件处理程序的 pra 参数表示事件(如您所说的鼠标事件)并覆盖 pra 全局变量。您可以删除参数以消除阴影。

  2. 全局 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>