Alliterative to maxlength属性

时间:2014-08-19 15:27:34

标签: javascript jquery

在我正在开发的网站上,我们有一个用于触摸屏的交互式键盘。它看起来很棒并且效果很棒,除非我们想要在一个字段上有最大字符数。

由于键盘如何消除输入焦点并插入输入,因此maxlength属性不希望工作。

是否有其他方法可以限制人们在不使用maxlength属性的情况下输入字段的内容?

我在网上做了一些搜索,从我看过的所有内容中,每个人总是指向使用maxlength。

我尝试过一些东西,比如创建一个替代

$('.input').val().substring(9);

但是用户仍然可以在字段中键入内容,只需在获取值时停止。

我也试过

return false;

在if语句中,当它们达到最大字符数时,但这只会冻结我的页面并且用户无法再与屏幕交互。

还有其他方法可以实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

在每个角色之后,执行以下操作:

$('.input').val( $(this).val().substring(0,100) );

Demo

答案 1 :(得分:0)

您需要的是在指定数量的字符之后截断输入的函数:

function truncateInput(inputElement, maxLength) {
    inputElement = $(inputElement);
    inputElement.on("change",function() {
        var val = inputElement.val();
        val = val.substr(0,maxLength - 1);
        inputElement.val(val);
    });
}

传递jQuery选择器字符串(即'#element'而不是$('#element')和最大长度,并且它将添加侦听器为您执行此操作。