$(document).ready(function(){
$("input").keyup(function(){
if($(this).val().split(' ').length == 10){
alert();
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
Enter your name: <input type="text">
&#13;
如果输入是1 2 3 4 5 6 7 8 9警报被触发,我知道它包含了空格。但是如何在达到限制时阻止用户添加更多字符(甚至是空格)?
答案 0 :(得分:1)
当达到最大字数时,可以很容易地将问题简化为禁用空格键:
这应该有效:http://jsfiddle.net/wznervgz/6/
<input data-max-words="10" />
JS:
$('input[data-max-words]').on('keydown', function (e) {
var $txt = $(this),
max = $txt.data('maxWords'),
val = $txt.val(),
words = val.split(' ').length;
if (words === max && e.keyCode === 32)
return false;
});
答案 1 :(得分:0)
考虑在每次加密后存储输入值,如果wordcount大于你的限制,只需setVal
回到“之前”保存的金额。因此它将以var previousVal = '';
开始,然后相应地递增,直到比较返回true,设置val并返回。
演示:http://jsfiddle.net/robschmuecker/wznervgz/1/
$(document).ready(function(){
var previousValue = '';
$("input").keydown(function(){
if($(this).val().split(' ').length >= 10){
alert();
$(this).val(previousVal);
return;
}
previousVal = $(this).val();
});
});
答案 2 :(得分:0)
希望这会对你有所帮助。
<textarea name="txtMsg" id="word_count" cols="1" rows="1"> </textarea>
<span style="padding-left:10px;">Total word Count :
<span id="display_count" style="font-size:16px; color:black;">0</span> words &
<span id="count_left" style="font-size:16px; color:black;">2</span> words left.</span>
<br>
jquery代码:
var max_count = 2;
$(document).ready(function () {
var wordCounts = {};
$("#word_count").keyup(function () {
var matches = this.value.match(/\b/g);
wordCounts[this.id] = matches ? matches.length / 2 : 0;
var finalCount = 0;
$.each(wordCounts, function (k, v) {
finalCount += v;
});
var vl = this.value;
if (finalCount > max_count) {
vl = vl.substring(0, vl.length - 1);
this.value = vl;
}
var countleft = parseInt(max_count - finalCount);
$('#display_count').html(finalCount);
$('#count_left').html(countleft);
am_cal(finalCount);
});
}).keyup();
小提琴链接:http://jsfiddle.net/aVd4H/32/
谢谢。
答案 3 :(得分:0)
你可以试试这个:
$("input").keydown(function(e){
if($(this).val().split(' ').length == 10){
alert();
e.preventDefault();
return false;
}