我正在阅读答案here,他们似乎都遵循我无法理解的类似主题,而且我不知道我在寻找什么足以尝试谷歌。
他们都有onkeypress
返回somefunction
的模式,somefunction
经常返回一个布尔值。
我不明白这部分是在做什么实际的限制。返回值?网络浏览器? HTML?
怎么样?
这些都没有任何意义。我对javascript的理解在这里挣扎了很多。我无法处理正在做什么的事情。为什么返回false
或true
会做任何事情?
如果有人能指出我正确的方向,我非常感激。我发现的很多资源都是数组是什么以及如何声明变量,或者他们直接跳到解决方案。我只想弄清楚这些解决方案中发生了什么。
以下是模式:
<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中却没有?
答案 0 :(得分:4)
JavaScript事件处理程序在执行默认浏览器行为之前触发。在事件处理程序内返回false
可防止发生默认行为。它还可以阻止事件从事件链冒泡到祖先元素。在您的示例中,在文本输入具有焦点时按键将阻止该键的字符附加到输入值。
以下是一些进一步的阅读:What's the difference between event.stopPropagation and event.preventDefault?