JavaScript-addEventListener“ click”不起作用

Mat*_*wka 0 javascript events dom addeventlistener

我想在点击按钮后从输入中获取一个值,但一直都在起作用

var buttonToBinary = document.querySelector("#toBinary");
buttonToBinary.addEventListener('click', console.log(getInput()));

function getInput() {
  return document.querySelector("#inputSector").value;
}
Run Code Online (Sandbox Code Playgroud)
<input type="text" name="userInput" id="inputSector" value="aa" />
<button id="toBinary" type="submit">to binary</button>
Run Code Online (Sandbox Code Playgroud)

getInput()已在加载页面上启动。请帮我。

Ion*_*zău 5

当您这样做时:

buttonToBinary.addEventListener('click', console.log(getInput()));
Run Code Online (Sandbox Code Playgroud)

您正在将的返回值传递console.log(...)addEventListener。该值是undefined

您想要的是将其包装到一个函数中:

buttonToBinary.addEventListener('click', console.log(getInput()));
Run Code Online (Sandbox Code Playgroud)
var buttonToBinary = document.querySelector("#toBinary");
buttonToBinary.addEventListener('click', function() {
  console.log(getInput())
});

function getInput() {
  return document.querySelector("#inputSector").value;
}
Run Code Online (Sandbox Code Playgroud)