文本输入只允许三个单词用空格分隔,如果超过3,用户就不能再输入了,这是否可以使用jQuery?我可以使用keyup事件来监听,但是如何在不使用禁用的情况下阻止用户输入更多的令牌.这类似于html中输入文本的本机maxlength属性,除了在这种情况下maxLength是标记的数量.
检查输入是否已有3个单词,并且他们正在尝试输入空格.如果是这样返回false:
$('#myTextbox').keydown(
function(event)
{
var input = $(this).val();
var numberOfWords = input.split(' ').length;
if(numberOfWords == 3 && event.keyCode == 32)
{
return false;
}
}
);
Run Code Online (Sandbox Code Playgroud)
编辑: 还有一个问题是有人可能会在该字段中通过文本.作为跨浏览器解决方案,我可能会将类似于@ karim79的代码绑定到blur事件.
$('#myTextbox').blur(
function(e)
{
var tokens = $(this).val().split(' ');
if(tokens.length > 3)
{
$(this).val(tokens.slice(0,3).join(' '));
}
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21873 次 |
| 最近记录: |