经过JS控制textarea的输入长度

废话很少说,直接上代码(由于本身也只是遇到的时候而后上网查到的解决办法,放在此处只是为了方便各位看以及之后再碰到用起来方便) 工具

<ul>
        <li>
            <textarea rows="5" cols="60" onpropertychange="if(value.length>50) value=value.substr(0,50)"></textarea><input
                type="button" value="onpropertychange"></input></li>
        <li>
            <hr />
        </li>
        <li>
            <textarea rows="5" cols="60" onchange="if(value.length>50) value=value.substr(0,50)"></textarea><input
                type="button" value="onchange"></input></li>
        <li>
            <hr />
        </li>
        <li>
            <textarea rows="5" cols="60" onkeydown="if(value.length>50) value=value.substr(0,50)"></textarea><input
                type="button" value="onkeydown"></input></li>
        <li>
            <hr />
        </li>
        <li>
            <textarea rows="5" cols="60" onkeyup="if(value.length>50) value=value.substr(0,50)"></textarea><input
                type="button" value="onkeyup"></input></li>
        <li>
            <hr />
        </li>
        <li>
            <textarea rows="5" cols="60" onkeypress="if(value.length>50) value=value.substr(0,50)"></textarea><input
                type="button" value="onkeypress"></input></li>
    </ul>

上面几个方法均可以实现控制textarea的长度,可是只有[onpropertychange]是最理想的方法:spa

onpropertychange:不解释,我的认为是最好的相似于maxlength属性code

onchange:此属性也能够实现,可是效果是输入完以后,鼠标离开textarea后里面的值才会变成限制的长度。blog

onkeydown和onkeypress:input

一直不太理解onkeydown和onkeypress区别有多大,上面的两个方法当长度达到限制后,若是再输入的值与textarea内容最后一个字符值不同,后改变最后一个字符的值为当前输入的值。博客

onkeyup:顾名思义,是当键盘按键弹起以后,输入的内容只要按键没有弹起能够一直输入,可是弹起以后就会截取输入的内容。class

最后:后三种没法解决粘贴的问题。原本想放个什么能够直接在此页面上运行的工具,但是还不太会,各位将就看看吧。大笑方法

 

最后的最后:求大神告诉我怎么在博客里用Jsfiddle或者其余的工具。im

相关文章
相关标签/搜索