我无法弄清楚我应该在这个简单的字符限制函数上使用什么事件处理程序。 当我达到最大值时,我无法删除任何字符,因为它似乎被视为keypress事件。 我怎样才能解决这个问题?

var mytext = document.getElementById("mytext");

mytext.addEventListener('keypress', function (evt) {
    if (mytext.value.length >= 8) {
        evt.preventDefault();
    }

});

这是JSFiddle http://jsfiddle.net/j93qU/2/

===============>>#1 票数:2

我只想使用html输入maxlength属性

<input type="text" maxlength="8">

===============>>#2 票数:0

人们开始使用脚本的那一刻,他们忘了做基本的事情!

使用内置的基本maxlengthsize属性。

<input type="text" maxlength="8" size="8" />

在您的情况下,仅将preventDefault()限制为字符,或允许特殊字符(如DelBackspace)

mytext.addEventListener('keypress', function (evt) {
    if (mytext.value.length >= 8 && (evt.keyCode != 8 || evt.keyCode != 37 || evt.keyCode != 46)) {
        evt.preventDefault();
    }

});

===============>>#3 票数:0 已采纳

尝试

var mytext = document.getElementById("mytext");

mytext.addEventListener('keypress', function (evt) {
    if (mytext.value.length >= 8 && (evt.keyCode != 8 || evt.keyCode != 37 || evt.keyCode != 46)) {
        evt.preventDefault();
        return false;
    }

});

event.which财产归event.keyCodeevent.charCode 建议观看event.which键盘输入键。

  ask by user3529194 translate from so

未解决问题?本站智能推荐:

2回复

event.preventDefault()不起作用

我有具有onclick功能的按钮 现在我想停止重定向到hello.php onclick事件,因此我编写了以下jQuery函数 这没有用,所以我添加了return false但仍然没有用。 您可以在Jsfiddle上查看 注意:我不想删除按钮的onclick
2回复

锚链接不适用于jquery event.preventDefault;

我需要在使用jQuery的锚链接单击时打开弹出窗口。 这是HTML部分 这是jQuery 我知道我可以通过用href =“#”替换href来变通,但是我很好奇为什么event.preventDefault并返回false不能正常工作? 任何帮助
3回复

为什么`event.preventDefault()`不适用于两个嵌套的div?

function clickOut(event) { event.preventDefault(); alert('click on out'); } function clickIn(event) { event.preventDefault(); alert('click on i
2回复

多个按钮上的event.preventDefault()

有没有一种方法可以为应用程序上的每个按钮编写一次e.preventDefault() (也许通过创建函数)? 我了解如何防止来自按钮(链接等)的默认事件: 但是,我的应用程序上有很多按钮,我已经厌倦了为每个按钮写出来。 任何帮助表示赞赏:)
1回复

具有event.preventDefault的HTML

如果html文档被禁用。 (无滚动...) 我可以选择性地启用html文档中的元素吗? 例如div,span,我应该使用哪种javascript?
7回复

jQuery:event.preventdefault();

如果我自己创建click事件及其处理程序,那么在正确的位置执行event.preventdefault()没问题。 但是,如果有一个已经注册了单击事件和相应处理程序的元素,在某些情况下,我想停用其进一步的工作(例如,提交)。 这是示例: 页面上有一个提交按钮,带有已注册的单击元素(
1回复

event.preventDefault()导致:悬停伪类以坚持

我正在尝试实现一个文档导航,类似于Bootstrap站点上的文档导航。 我已经完成了它的工作,但它有一个方面是困扰我。 就像在Bootstrap上一样,我使用的是affix.js和scrollSpy.js的组合,这是有效的。 请参阅以下JSFiddle 。 e.preventD
2回复

如何在event.preventDefault之后提交表单

我有这样的HTML表单。 下面是我的html代码和jQuery代码。我的意图是当用户选择“删除”选项并单击“应用”时,我要首先确认用户的决定,如果用户单击“确定”,则将提交表单。 但是,我现在有点迷路了。 谁能给我一个提示? 谢谢! HTML: jQuery的:
1回复

如何在AngularJS中使用event.preventDefault()?

我遇到过一种避免表单提交后刷新页面的方法,例如event.preventDefault(); 对于Angular来说,我真的很陌生,我真的不知道如何将这种语法放入Angular控制器中,“事件”是Angular服务吗? 如何在代码中使用它? 任何帮助,将不胜感激!
2回复

event.preventDefault在Firefox中不起作用

我不确定为什么,但是由于某种原因, event.preventDefault()调用在Firefox中不起作用。 我正在使用它来阻止单击将您href到href a链接,而是运行单击功能。 标记如下: jQuery的: 它可以在我测试过的所有其他浏览器中使用,只是Firefox似