【问题标题】:Nothing Happens When I Press The Button [closed]当我按下按钮时没有任何反应[关闭]
【发布时间】:2022-11-01 20:18:52
【问题描述】:

我想通过按下插入按钮来使用来自 textField 的输入来填充列表元素。但是当我运行程序并按下按钮时,处理程序永远不会执行。

var items = 0;
function clickHandler () {
    var input = doc.getElementById('input').value;

    if (!input) {
      alert("Please provide the valid input");
    }
    else {
       let li = document.createElement("li");
       li.textContent = input.value;         
       document.getElementById("list").appendChild(li); 
    }
  var button = document.getElementById('button');
  button.addEventListener('click', clickHandler);
}
<ul id="list"></ul>
<input id="input" type="text"></input>
<button  onclick="clickHandler" type="button" id="button">Insert</button>

【问题讨论】:

  • 这回答了你的问题了吗? Using an HTML button to call a JavaScript function
  • doc 没有定义?
  • onclick="clickHandler" 没有称呼该功能 - onclick="clickHandler()" 可以。 (在此之后您的代码将抛出错误,因此请检查您的浏览器控制台。)

标签: javascript html web-frontend


【解决方案1】:

线条

var button = document.getElementById('button');
button.addEventListener('click', clickHandler);

位于clickHandler 函数本身内,因此不会在您的页面初始化时调用它们。把他们从那里搬走。

其次,onclick="clickHandler" 缺少调用括号,所以它也不做任何事情。它必须是onclick="clickHandler()",但如果您通过addEventListener 添加事件侦听器,它也是多余的。

【讨论】:

    【解决方案2】:

    var button = document.getElementById('button'); button.addEventListener('click', clickHandler);

    将这两行写出函数 clickHandler 你也必须像这样使用

    【讨论】:

      猜你喜欢
      • 2017-10-02
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多