为什么在我的代码中需要“返回假”?

时间:2019-03-06 14:33:04

标签: javascript

我已经阅读了事件冒泡的含义,并理解了它的含义,但是我仍然无法理解为什么我的代码要求“ return false”。

function init() {
  var fireButton = document.getElementById("fireButton");
  fireButton.onclick = handleFireButton;
  var guessInput = document.getElementById("guessInput");
  guessInput.onkeypress = handleKeyPress;
}

function handleFireButton() {
  var guessInput = document.getElementById("guessInput");
  var guess = guessInput.value;
  controller.processGuess(guess);
  guessInput.value = "";
}

function handleKeyPress(e) {
  var fireButton = document.getElementById("fireButton");
  if (e.keyCode === 13) {  //13 represent the "Enter" key.
    fireButton.click();
    return false;
  }
}

window.onload = init;

2 个答案:

答案 0 :(得分:1)

return false将阻止表单提交。在这种情况下,您也可以使用e.preventDefault()(这可能是您真正想要的)。

无论如何,您可以简单地完全删除form标记,这不是必需的。 (或者,如果要使用onsubmit,则处理onclick/onkeypress而不是form

答案 1 :(得分:0)

由于这是一个Enter按钮(如果它是标记中的表单,则它可能会触发表单的提交),因此我建议将return false;更改为e.preventDefault();,因为它的含义更多在做,但这只是我的意见