使用jQuery锁定textarea?

如何用jQuery“锁定”textarea,以便不再输入字符? 我不想一定禁用它,因为我想允许删除字符。

更新: oops ..刚刚来找我:如果我将长度限制为400个字符,那么当长度> 400时我可以使用以下内容:

this.value = this.value.substring(0, 400); 

这将削减多余的

以下是修改jquery.numeric插件的快速修改:)

它允许特殊键,但不允许用户输入任何内容。

   

试试这个:

 $("textarea").keypress(function(){ if($(this).val().length>=10) return false; }); 

在这里演示: http : //jsbin.com/erama

您可以绑定到textarea的keypress / keydown事件并阻止除退格和删除之外的所有字符。 这样用户可以删除字符但不能添加/删除新字符。

你绑定到keypress事件,如下所示:

 $('#text-area').keypress(function(e) {}); 

然后,您可以使用传递的事件对象(参数e)的keyCode属性来检查按下的键是删除还是退格。 您可以在jquery网站上找到有关keypress事件的更多信息 。

您可以基于密钥代码列表,仅允许删除和退格。 在这种情况下,keyCode应该等于8或46。

因此,生成的代码将是这样的(虽然没有测试):

 $('#text-area').keypress(function(e) { if(e.keyCode != 8 && e.keyCode != 46) { e.preventDefault(); } }); 

事件的preventDefault函数将停止任何进一步处理,因此如果字符不是删除或退格,则不会输入。

这是限制输入到textboxes / textareas的插件

  jQuery.fn.charlimit = function(prompt, limit) { this.keyup(function(e) { var txt = $(this).val(); var c = txt.length; if (prompt != null || prompt != 'undefined') { $(prompt).html((limit - c) + " chars left."); } if (c > limit) { $(this).val(txt.substring(0, limit)); return false; } return true; }); return this; } 

提示可以是任何span / div等来显示提示信息。