【发布时间】:2012-10-01 15:37:45
【问题描述】:
我在 keyup 上有以下绑定,如果超过 150 个字符会发出警报,但您可以按 OK 并继续输入,然后继续按 OK。
我想将它们裁剪为 150 个单词(不是字符),如果他们在上面输入,请删除额外内容。但我似乎无法弄清楚该怎么做,我可以弄清楚字符。但不是文字。
jQuery('textarea').keyup(function() {
var $this, wordcount;
$this = $(this);
wordcount = $this.val().split(/\b[\s,\.-:;]*/).length;
if (wordcount > 150) {
jQuery(".word_count span").text("150");
return alert("You've reached the maximum allowed words.");
} else {
return jQuery(".word_count span").text(wordcount);
}
});
【问题讨论】:
-
不要单独依赖keyup/down。还要考虑用户执行右键单击 -> 粘贴或文本拖放等的情况。谷歌搜索“jQuery textchanged 事件”,你会发现需要什么。
-
那我应该依靠什么?右键粘贴触发一个键...我不知道什么是文本拖放。
-
更正,在 Windows IE 剪切/粘贴上的测试没有触发键。我把它改成zurb.com/playground/jquery-text-change-custom-event
-
如果我达到你强加的限制,我_would_just_start_not_using_spaces_And_I_will_get_my_say_in_no_propblem
-
Elias,是的,我知道它有问题,这就是为什么我不 100% 依赖 javascript,也有服务器端。但我仍然想在 X 字处裁剪它,并且必须使用 javascript。
标签: javascript jquery textarea