这个脚本模拟实现textarea的maxlength,无闪限制输入固定长度的字符串
目前只支持IE(ff,chrome中textarea的maxlength效果与input中的maxlength一样)
在之后会想办法做到兼容长用的浏览器
JavaScript脚本如下:
/*--------------------------------------------------|
| 文件中的对象名 | 文件路径 |
|---------------------------------------------------|
| Copyright (c) 2002-2003 Geir Landr |
| Email : ianylb@sina.com、yelb@surekam.com |
| |
| This script can be used freely as long as all |
| copyright messages are intact. |
| Updated: 11.06.2011 |
| Description: 因为textarea中没有maxlength这个属性, |
| 这个脚本模拟了input中maxlength功能,限定 |
| 输入固定长度的字符串。此脚本暂时只支持IE |
|--------------------------------------------------*/
var MaxLengthCheck = function(){
/**
* 如果textarea没有maxlength属性,那么默认可输入2048个字符
*/
var textMaxLength = 2048;
/**
* 当按键按下时,可绑定这个方法
*/
this.doKeyPress = function(element, event){
var maxLength = element.getAttribute("maxLength");
maxLength = maxLength || textMaxLength;
if (maxLength !== "") {
if (element.value.length >= maxLength) {
if (window.event) {
window.event.returnValue = null;
}
else {
return false;
}
}
}
this.doOtherThing();
};
/**
* 当粘贴时,可绑定这个方法
*/
this.doPaste = function(element, event){
var maxLength = element.getAttribute("maxLength");
maxLength = maxLength || textMaxLength;
if (maxLength !== "") {
var text = window.clipboardData.getData("Text");
var subStr = text.substr(0, maxLength - element.value.length);
window.clipboardData.setData("Text", subStr);
}
this.doOtherThing();
};
/**
* 可复写这个方法,用于客户端程序员实现其它功能
*/
this.doOtherThing = function(){
// Client Programer implment this function
};
}
对JavaScript脚本做如下测试:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>MaxLengthCheck </title>
<script src="MaxLengthCheck.js"></script>
<script>
window.onload = function(){
var checkLength = new MaxLengthCheck();
//重写doOtherThing();
checkLength.doOtherThing = function(){
alert("haha");
};
//在事件上绑定方法
var element = document.getElementById("textarea");
element.onpaste = function(){
checkLength.doPaste(element, event);
};
element.onkeypress = function(){
checkLength.doKeyPress(element, event)
}
}
</script>
</head>
<body>
<textarea id="textarea">
</textarea>
</body>
</html>
分享到:
相关推荐
Vue实现动态显示textarea剩余文字数量,具体内容如下 这里我们假设允许用户输入的最多数量为200个 html代码如下: <textarea maxlength="200" @input="descInput" v-model="desc" /> <span>{{remnant}}/200...
HTML textarea本身不像文本输入一样实现maxlength属性。 jQuery.confine是一个简单的jQuery插件,可以正确地实现此功能,避免了大多数天真的实现会遇到的许多问题,同时还可以选择利用jQuery 1.4中的新HTML5标准和...
然而,HTML标准中并没有提供`maxlength`属性来限制`<textarea>`的字符数,因此必须采用其他方法来实现这一需求。 一种常见的限制字符数的方法是使用JavaScript(或其他脚本语言)。基本思路是通过监听`<textarea>`...
为了实现类似的功能,可以通过JavaScript或jQuery来动态限制`textarea`中的字符数量。 ### jQuery实现textarea的maxlength功能 jQuery是一个快速、小巧且功能丰富的JavaScript库。它通过封装DOM操作、事件处理、...
本文将深入探讨如何使用JavaScript来实现对`<textarea>`的字数限制。 首先,我们需要了解JavaScript的基本语法和DOM操作。JavaScript是一种解释型、弱类型的脚本语言,广泛应用于网页和浏览器交互。通过DOM...
本文将详细介绍如何通过HTML属性及JavaScript脚本实现对`textarea`的最大输入长度控制,并探讨不同场景下的实现方法。 #### 二、HTML属性实现 在HTML中,可以通过`maxlength`属性直接为`textarea`元素设定最大输入...
为了规避这个问题,可以使用JavaScript来动态监控`textarea`的`oninput`事件,而不是依赖`maxlength`属性。`oninput`事件可以在用户输入或者粘贴文本后立即触发,因此更适合用于实时检查和控制输入内容。下面是一个...
在本文中,我们将深入探讨如何使用AngularJS框架来实现一个textarea文本输入的字数限制功能。AngularJS,作为一款强大的前端开发框架,以其双向数据绑定和丰富的指令系统著称,可以方便地帮助开发者构建功能丰富的...
本文将详细介绍如何通过JavaScript实现`textarea`的输入长度限制,包括如何设置最大输入长度、如何阻止超出长度的输入、如何限制复制粘贴及鼠标拖放等操作。 #### 一、基础知识介绍 1. **`textarea`标签**:HTML中...
本文将深入探讨如何实现对`textarea`文本长度的控制,并实时显示输入字数的统计。 首先,我们可以使用JavaScript来实现这一功能。JavaScript是一种广泛使用的客户端脚本语言,可以在用户与网页交互时执行,提供动态...
压缩包中的`textarea_maxlength`可能是一个示例文件,包含实现以上功能的完整HTML、CSS和JavaScript代码,或者是对这个功能的一种实现方式的详细说明。通过查看和学习这个文件,你可以更深入地理解如何在实际项目中...
`JQuery`库提供了一种解决方案,使得我们可以通过JavaScript来实现`textarea`的`maxlength`功能,并且能兼容包括IE在内的多种浏览器。 首先,我们需要理解`maxlength`属性的作用。`maxlength`是HTML5引入的一个特性...
本文将详细介绍如何实现这一目标以及`<textarea>`的相关属性。 1. 错误解决方法: 在编写HTML时,`<textarea>`标签的闭合方式对内容的处理至关重要。错误的做法是将`</textarea>`放在新的一行,这会导致换行符和...
为了解决这个问题,一些浏览器(如Firefox)自行实现了对textarea元素的maxlength属性的支持,但是出于标准兼容性考虑,并不是所有浏览器都支持这一非标准特性,比如IE浏览器。 为了解决跨浏览器的兼容性问题,可以...
为了解决这个问题,我们可以利用JavaScript来实现一个兼容各个主流浏览器的textarea输入长度限制功能。 首先,让我们理解HTML5的`maxlength`属性。`maxlength`属性是HTML5新增的,它定义了textarea或input元素最多...
在没有此类插件的情况下,开发者通常需要手动编写JavaScript代码来监听textarea的`keyup`、`keydown`或`input`事件,并计算当前文本的长度,一旦超过预设的maxLength,就阻止进一步的输入或显示错误提示。...