簡體   English   中英

如何觸發按鈕在 JavaScript 中單擊 Enter

[英]How To Trigger Button Click on Enter in JavaScript

單擊時的 addEventListener 正在工作,但在event.keypressevent.code上卻沒有。 我不明白為什么? 我嘗試添加帶有和不帶有“”的鍵碼,嘗試刪除默認值,並指示 object 長度(inputLength()> 0 && event.code“Enter”)等。仍然沒有。 在現有線程中找不到解決方案((。

var button = document.getElementById("enter");
var input = document.getElementById("userinput");
var ul = document.querySelector("ul");


function inputLength() {
    return input.value.length;
}

function createListElement() {
    var li = document.createElement("li");
    li.appendChild(document.createTextNode(input.value));
    ul.appendChild(li);
    input.value = "";
}

button.addEventListener("click", function() {
    if (inputLength() > 0) {
        createListElement();
    }
})

button.addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.key === "Enter") {
        createListElement();
    }
})

對於 addEventListener,您可能需要第三個參數 false 例如 button.addEventListener("click",function(){blah},false);

button.addEventListener("keyup", function(event) {
  // Number 13 is the "Enter" key on the keyboard
  if (event.keyCode === 13) {
    // Cancel the default action, if needed
    event.preventDefault();
    //now do what you want to do.
    createListElement();  
}
});

我只想說,你應該更頻繁地使用谷歌。 在 1 次谷歌搜索后,我能夠找到答案。 無論如何希望這會有所幫助。

我找到了正確的方法:

function addListAfterKeyPress(event) {
    if (inputLength() > 0 && event.key === "Enter") {
        createListElement();
    }
}

嘗試將“keyup”更改為“keypress”:

button.addEventListener("keypress", function(event) {
    event.preventDefault();
    if (event.key === "Enter") {
        createListElement();
    }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM