IE中textarea不支持maxlength属性 ie8 maxlength
网上有很多例子模拟这个属性,但是大部分都是利用用户输入之后再判断是否超过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) ))
}
}
}
});
更多阅读
使用信用卡支付不支持信用卡付款的淘宝商品 淘宝不支持银行卡付款
使用信用卡支付不支持信用卡付款的淘宝商品——简介万能的淘宝现已经深入各个网民的生活中。万能的淘宝啥都有,只有你想不到,没有它没得卖,但是淘宝上很多店铺和个人卖家的宝贝使用信用卡付款需要支付手续费,或者直接不支持信用卡付款。
Windows7视频卡驱动不支持Aero的解决方案 更新视频卡驱动程序
Windows7视频卡驱动不支持Aero的解决方案——简介让win7更美观、大方、漂亮,方法易学。Windows7视频卡驱动不支持Aero的解决方案——方法/步骤Wind
下载时提示当前分区不支持大于4g的文件该怎么办 不支持gpt分区
下载时提示当前分区不支持大于4g的文件该怎么办——简介下载时提示当前分区不支持大于4g的文件该怎么办?下载时提示当前分区不支持大于4g的文件该怎么办——方法/步骤下载时提示当前分区不支持大于4g的文件该怎么办 1、今天下载一个
CAD 鼠标中键不能平移解决方法 cad鼠标滚轮不能平移
1.按下键盘的快捷键“Win徽标+Pause/Break”,打开“系统属性”窗口;2.在“系统属性”窗口中点击“高级”选项卡,单击下方的“环境变量”按钮;3.在打开的“环境变量”对话框中的“系统变量”列表中新建“mbuttonpan”项,变量值为“1”;
ie浏览器打不开网页怎么办 浏览器个别网页打不开
ie浏览器打不开网页怎么办——简介昨天由于安装了多款软件,今天开机发现IE浏览器打不开了,废了些周折终于,修复了IE浏览器,现将ie浏览器打不开网页的经验分享给大家,希望此经验对于出现过此类情况的网友能给予帮助。ie浏览器打不开网页