在我正在开发的网站上,我们有一个用于触摸屏的交互式键盘。它看起来很棒并且效果很棒,除非我们想要在一个字段上有最大字符数。
由于键盘如何消除输入焦点并插入输入,因此maxlength属性不希望工作。
是否有其他方法可以限制人们在不使用maxlength属性的情况下输入字段的内容?
我在网上做了一些搜索,从我看过的所有内容中,每个人总是指向使用maxlength。
我尝试过一些东西,比如创建一个替代
$('.input').val().substring(9);
但是用户仍然可以在字段中键入内容,只需在获取值时停止。
我也试过
return false;
在if语句中,当它们达到最大字符数时,但这只会冻结我的页面并且用户无法再与屏幕交互。
还有其他方法可以实现这个目标吗?
答案 0 :(得分:2)
答案 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')
和最大长度,并且它将添加侦听器为您执行此操作。