我正在尝试为 CLEditor 重新创建一个 maxlength 函数。目标是:如果将文本输入到文本框中并且其长度超过设置的最大长度,则文本框应该失去焦点,这样就不可能再写任何字母。
到目前为止,我所取得的成就是 CLEditor 可以识别文本何时超过我的最大长度。为了失去焦点,我尝试了一个简单的返回(即 return; return false;)和一些 .blur() 方法(即 $(frameDesc).blur(); 和 cledDesc.$area.blur();)。但这些都行不通。即使达到最大长度,我仍然可以填写文本。
请看一下代码:
$("#profileForm_description").cleditor({width: 430, height: 125});
var cledDesc = $("#profileForm_description").cleditor()[0];
var frameDesc = cledDesc.$frame[0].contentWindow.document;
$(frameDesc).bind('keypress change', function(){
var text = textWithoutHTML(cledDesc.$area.val());
if(text.length >= 650){
console.log("Longer than MaxLength");
//lose focus
}else{
//Do something
}
});
任何帮助和提示将不胜感激:)