jquery 解决TextArea不支持maxlength的办法

因为IE不支持textarea 的 maxlength属性,于是,在firefox 6中测试,发现firefox是支持这个属性的。那么就简单了。自己写了一个jquery的扩展,这样就可以很容易实现对textarea控制最大长度了。

(function($){
$.fn.textarealimit = function(settings) {
settings = jQuery.extend({
length:1000
}, settings);
maxLength =settings.length;
$(this).attr("maxlength",maxLength).bind("keydown",doKeydown).bind("keypress",doKeypress).bind("beforepaste",doBeforePaste).bind("paste",doPaste);
function doKeypress()
{
var oTR = document.selection.createRange()
if(oTR.text.length >= 1)
event.returnValue = true
else if(this.value.length > maxLength-1)
event.returnValue = false
}
function doKeydown()
{
var _obj=this;
setTimeout(function()
{
if(_obj.value.length > maxLength-1)
{
var oTR = window.document.selection.createRange()
oTR.moveStart("character", -1*(_obj.value.length-maxLength))
oTR.text = ""
}
},1)
}
function doBeforePaste()
{
event.returnValue = false
}
function doPaste()
{
event.returnValue = false
var oTR = document.selection.createRange()
var iInsertLength = maxLength - this.value.length + oTR.text.length
var sData = window.clipboardData.getData("Text").substr(0, iInsertLength)
oTR.text = sData;
}
}
})(jQuery);

以上只是针对IE控制了复制粘贴的控制以及输入时控制,由于使用IE的特性,这些方法在firefox中是无效的。
调用代码:

$(document).ready(function() {
$("#ctl00_ZiiOContent_ucQuestionnaire_txtquestion4_2").textarealimit();
});

时间: 2024-10-08 07:33:59

jquery 解决TextArea不支持maxlength的办法的相关文章

用jQuery解决IE不支持的option disable属性_jquery

使用jQuery解决IE不支持的option disable属性 普通: 第1项第2项第3项第4项第5项第6项 对比1: 第1项第2项第3项第4项第5项第6项 对比2: 第1项第2项第3项第4项第5项第6项Dev By CssRain,当然你有兴趣,也可以封装成插件.记得发我一份哦.

TextArea不支持maxlength的解决办法(jquery)_jquery

用.net 控件久了,在给一个页面的TextBox 增加控制长度的控制时,简单的加了一个maxlength='xxx' 就行,可是测试确总是不过,原因是设置了多行模式,在这样的情况下生成的html代码就是textarea,同时maxlength属性就没有被增加上,因为IE不支持textarea 的 maxlength属性,于是,在firefox 6中测试,发现firefox是支持这个属性的.那么就简单了.自己写了一个jquery的扩展,这样就可以很容易实现对textarea控制最大长度了. 扩展

JQuery解决IE6不支持透明png图片、png背景

1,解决直接以 img 标签显示的png图片    代码如下 复制代码 $(document.body).fixpng({scope:'img'}); 可将body内的所有png图片显示为透明效果. 2,解决以 透明png为背景 图片的情况  代码如下 复制代码 $('div').fixpng(); 可将所有 div 标签 背景图为png的变为透明 演示  代码如下 复制代码 <script type="text/javascript" src="jquery-late

JQuery为textarea添加maxlength属性并且兼容IE_jquery

// JQuery为textarea添加maxlength // textarea默认不支持maxlength属性. // 通过JQuery的keyup事件: JQuery代码如下: 复制代码 代码如下: <script type="text/javascript"> $(function(){ //IE也能用textarea $("textarea[maxlength]").keyup(function(){ var area=$(this); var

JQuery为textarea添加maxlength属性的代码_jquery

通过JQuery的keyup事件: 复制代码 代码如下: <html> <head> <title>JQuery为textarea添加maxlength</title> <script type="text/javascript" src="jquery-1.4.js"></script> </head> <body> <textarea style="w

利用jquery解决MVC下…问题

利用jquery解决MVC下A potentially dangerous Request.QueryString value was detected from the client问题 其实A potentially dangerous Request.QueryString value was detected from the client错误原 因是mvc检测了您的请求,如果有'<'等字符串,就会有这个错误.解决办法在action前 加 [AcceptVerbs(HttpVerbs.P

jquery对ajax的支持性

 本文为大家介绍下jquery对ajax的支持性,感兴趣的朋友可以了解下 1.三个方法    1.1.load方法    //作用:将服务器返回的数据直接添加到符合要求的dom对象上  //相当于 obj.innerHTML = 服务器返回的数据    用法:  $obj.load(url,[请求参数]);    url : 请求地址  请求参数 :  第一种形式:请求字符串,比如: 'username=zs&age=22'  第二种形式:对象,比如 {'username':'zs','age'

利用JS解决ie6不支持max-width,max-height问题

 本篇文章主要介绍了利用JS解决ie6不支持max-width,max-height问题的方法.需要的朋友可以过来参考下,希望对大家有所帮助 今天遇到一个关于用js解决ie6不支持支持max-width,max-height的问题,刚开始用jQuery方法来实现,不过一直获取不到css里面的值,如   代码如下:   if($.browser.msie && $.browser.version == 6.0)   {     var maxWidth = parseInt($('.view

ASP.NET配合jQuery解决跨域调用的问题_实用技巧

一. 使用JSONp方式调用 不做详细讲解,可以参考jq文档<jQuery 1.10.3 在线手册> 二. 服务端配置 修改Web.config 文件 <system.webServer> <modules runAllManagedModulesForAllRequests="true"></modules> <httpProtocol> <customHeaders> <add name="Ac