首页 > 百度UEditor字符没有限制只是提示

百度UEditor字符没有限制只是提示

编辑器只是做了字符的超出提示,并没有限制可输入的字符,我现在做了监听。
监听keyup事件,当字符数大于500的时候自动截取500个字符然后赋值给文本域.
可是现在问题是每当到达500再次输入的时候虽然可以限制住,但是光标会跳到头部.
而不是文本的尾部.
这就产生了一个问题用户在不知情的情况下如果输入的话会在头部添加,这样每次都会从新的头部开始截取,以前的尾部的文字都被截掉了.
我看到了可以控制光标在尾部的事件。
function cursorend(){

var e = event.srcelement;

var r = e.createtextrange();

r.movestart('character',e.value.length);

r.collapse(true);

r.select();

}
event好像是获取发生事件的元素,然而总是报 createtextrange not a function错误,
不知道如何应用在编辑器的监听事件中,求大神写个例子.


采用监听的办法对有些输入法兼容不太好。

我建议你不要在输入的时候截取,在提交前提示,用户允许的情况下截取提交;不允许的情况下不让提交,让他回去改。


<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<textarea id="area" style="width: 400px;height:400px;" rows="30" cols="20" ></textarea>
<script>
    var domArea=document.getElementById("area");
    domArea.addEventListener("keyup",function(){
        if(this.value.length>10){
            console.log(this.value.length);
            this.value=this.value.substr(0,10);
        }
    },false);
</script>
</body>
</html>

以上代码,可以控制用户的输入的文字最多10个,多个文字不会显示,并且光标始终在最后

你的event.srcElement及createtextrange为IE浏览器才支持的吧~~

【热门文章】
【热门文章】