HTML如何根据javascript函数的返回值限制文本输入?

时间:2016-05-11 18:39:46

标签: javascript html

我正在阅读答案here,他们似乎都遵循我无法理解的类似主题,而且我不知道我在寻找什么足以尝试谷歌。

他们都有onkeypress返回somefunction的模式,somefunction经常返回一个布尔值。

我不明白这部分是在做什么实际的限制。返回值?网络浏览器? HTML?

怎么样?

这些都没有任何意义。我对javascript的理解在这里挣扎了很多。我无法处理正在做什么的事情。为什么返回falsetrue会做任何事情?

如果有人能指出我正确的方向,我非常感激。我发现的很多资源都是数组是什么以及如何声明变量,或者他们直接跳到解决方案。我只想弄清楚这些解决方案中发生了什么。

以下是模式:

<input type="text" onkeypress="return somefunction()">

<script>
  function somefunction() 
  {
    return false;
  }
</script>

<input type="text" onkeypress="return somefunction2()">

和js

function somefunction2()
{
    return false;
}

中学,为什么这在jsfiddle中在脚本标签中有效,而在附加的jsfile中却没有?

1 个答案:

答案 0 :(得分:4)

JavaScript事件处理程序在执行默认浏览器行为之前触发。在事件处理程序内返回false可防止发生默认行为。它还可以阻止事件从事件链冒泡到祖先元素。在您的示例中,在文本输入具有焦点时按键将阻止该键的字符附加到输入值。

以下是一些进一步的阅读:What's the difference between event.stopPropagation and event.preventDefault?