• 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); 
    }
    

      

  • 相关阅读:
    ADO.NET_01_概述
    我对持久层的一点看法
    浅谈极限编程(XP)和代码重构(Refectoring)
    设计模式_第一篇_开场
    .NET OracleLob 读写操作
    ASP.NET_ASP.NET Cookies
    设计模式_第二篇_策略模式
    Oracle_C# 实现 Oracle Text(全文检索)的一个简单例子
    IKVM.NET_06_用户指南_教程
    ADO.NET_02_DataTable
  • 原文地址:https://www.cnblogs.com/briny/p/3463517.html
Copyright © 2020-2023  润新知