zoukankan      html  css  js  c++  java
  • TextArea设置MaxLength的代码(未测试在不同浏览器下的兼容性)

    function SetTextAreaMaxLength(controlId,length)
    {
        // JScript File for TextArea
        // Keep user from entering more than maxLength characters
        function doKeypress(control,length){
            maxLength = length;
            value = control.value;
            if(maxLength && value.length > maxLength-1){
                event.returnValue = false;
                maxLength = parseInt(maxLength);
            }
        }
        // Cancel default behavior
        function doBeforePaste(control,length){
            maxLength = length;
            if(maxLength)
            {
                event.returnValue = false;
            }
        }
        // Cancel default behavior and create a new paste routine
        function doPaste(control,length){
            maxLength = length;
            value = control.value;
            if(maxLength){
                event.returnValue = false;
                maxLength = parseInt(maxLength);
                var oTR = control.document.selection.createRange();
                var iInsertLength = maxLength - value.length + oTR.text.length;
                var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
                oTR.text = sData;
            }
        }
        
        function doDragenter(control,length)
        {
            maxLength = length;
            value = control.value;
            if(maxLength){
                event.returnValue = false;
            }   
        }
    
        
        function addEvent(elm, evType, fn, useCapture)
        { 
            if (elm.addEventListener)
            { 
                elm.addEventListener(evType, fn, useCapture); 
                return true; 
            } 
            else if (elm.attachEvent) 
            { 
                var r = elm.attachEvent('on' + evType, fn); 
                return r; 
            } 
            else { 
                elm['on' + evType] = fn; 
            } 
        }
    
    
        function AttacheventTextAreaBeforePaste(obj,length)
        {
            return function()
            {
                doBeforePaste(obj,length)
            }
        }
        
        function AttacheventTextAreaPaste(obj,length)
        {
            return function()
            {
                doPaste(obj,length)
            }
        }
        
        function AttacheventTextAreaKeyPress(obj,length)
        {
            return function()
            {
                doKeypress(obj,length)
            }
            
        }
        
        function AttacheventTextAreaDragEnter(obj,length)
        {
            return function()
            {
                doDragenter(obj,length);
            }
        }
        
        
        var obj = document.getElementById(controlId);
        
        addEvent(obj,'keypress',AttacheventTextAreaKeyPress(obj,length),null);
        addEvent(obj,'beforepaste',AttacheventTextAreaBeforePaste(obj,length),null);
        addEvent(obj,'paste',AttacheventTextAreaPaste(obj,length),null);
        addEvent(obj,'dragenter',AttacheventTextAreaDragEnter(obj,length),null); 
    }
    

      

  • 相关阅读:
    个人信息
    两个整数的最小公倍数和最大公约数
    java杨辉三角实现
    只会用这简单的递归求阶乘
    图形界面设计
    圆的面积,周长,圆柱体的体积(类的封装与抽象)
    杨辉三角
    1~10的阶乘java语言编程
    个人信息与计算器
    个人信息显示界面
  • 原文地址:https://www.cnblogs.com/briny/p/3463517.html
Copyright © 2011-2022 走看看