IE中textarea不支持maxlength属性 ie8 maxlength

很可惜在IE中textarea不支持maxlength属性,当然其他浏览器都支持,maxlength for textarea是 HTML5 的新属性,详见:http://www.w3schools.com/html5/tag_textarea.asp

网上有很多例子模拟这个属性,但是大部分都是利用用户输入之后再判断是否超过maxlength,如果超过就去掉最后一部分文字。

这样做一方面是用户体验不是很好,用户可以看到他输入了一些字母但是马上又不见了;另一方面是用户可以在任何位置输入,去掉最后一部分就完全不对了。

我写的这个例子考虑了这些因素,通过preventDefault来真实的模拟,同时考虑keyup和copy事件。

there are many jquery addon to simulat that,but it is not very good, because they detect the length onkeyup, which you will see the letters you type first and then gets removed afterwards. some other example just remove the last character of the textarea and does not care where is your selection.

so we can use the following to simulate that:

$textarea.bind("keypress.formTextarea paste.formTextarea", function(event) {

if($.browser.msie && !options.bKeepTyping){

var $this = $(this);

var maxLength = $this.data(options.maxlengthData);

var currentLength = $this.val().length;

var remainLength = maxLength - currentLength;

var selectionLength = document.selection.createRange().text.length;

if(event.type == 'keypress'){

if(event.which > 32 && event.which < 127 && !event.metaKey && (remainLength <= 0) && selectionLength == 0){

return false;

}

}else if(event.type == 'paste'){

var pasteText = window.clipboardData.getData('Text');

if(currentLength - selectionLength + pasteText.length > maxLength){

window.clipboardData.setData('Text',pasteText.substring(0,maxLength -(currentLength - selectionLength) ))

}
IE中textarea不支持maxlength属性 ie8 maxlength

}

}

});

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/106623.html

更多阅读

CAD 鼠标中键不能平移解决方法 cad鼠标滚轮不能平移

1.按下键盘的快捷键“Win徽标+Pause/Break”,打开“系统属性”窗口;2.在“系统属性”窗口中点击“高级”选项卡,单击下方的“环境变量”按钮;3.在打开的“环境变量”对话框中的“系统变量”列表中新建“mbuttonpan”项,变量值为“1”;

ie浏览器打不开网页怎么办 浏览器个别网页打不开

ie浏览器打不开网页怎么办——简介昨天由于安装了多款软件,今天开机发现IE浏览器打不开了,废了些周折终于,修复了IE浏览器,现将ie浏览器打不开网页的经验分享给大家,希望此经验对于出现过此类情况的网友能给予帮助。ie浏览器打不开网页

声明:《IE中textarea不支持maxlength属性 ie8 maxlength》为网友夏醉浅梦分享!如侵犯到您的合法权益请联系我们删除