• 14.2.2过滤输入


    1、屏蔽字符

    兼容版:

    var textbox = document.forms[0].elements[0];
        EventUtil.addHandler(textbox,'keypress',fn);
        function fn(event){
            event = EventUtil.getEvent(event);
            var charCode = EventUtil.getCharCode(event);
            /*
                charCode 获取按键的编码
                String.fromCharCode( charCode )转换为相应的字符
                charCode>9 判断按键为非字符按键
                firefox中非字符按键编码为 0
                safari3以前中飞字符按键编码为 8
                为了让代码更通用,只要屏蔽那些字符编码小于10的键即可
                event.ctrlKey 事件表示ctrl是否被按住并没有松开,返回true
            */
            if (!/d/.test(String.fromCharCode(charCode)) && charCode > 9 && !event.ctrlKey)
            {
                //屏蔽默认事件
                EventUtil.preventDefault(event);
            }
    
        }

    2、操作剪切板

    IE是第一个支持与剪切板相关的事件,

    beforecopy: 在发生复制操作前触发。

    copy: 在发生复制操作时触发。

    beforecut:在发生剪切操作前触发。

    cut:在发生剪切操作时触发。

    beforepaste:在发生粘贴操作前触发。

    paste:在发生粘贴操作时触发。

    IE浏览器只有在文本中选定字符时,copy和cut事件才会发生。且在非文本框中(如div元素)只能发生copy事件

    firfox浏览器只有焦点在文本框中才会发生paste事件

     这边文章分析的很详细

    https://www.cnblogs.com/xiaohuochai/p/5882902.html

    var textbox = document.forms[0].elements[0];
        EventUtil.addHandler(textbox,'copy',function(event){
            event = EventUtil.getEvent( event );
            var clipboardData = event.clipboardData || window.clipboardData;
            /*
                如果在剪切和复制时触发事件
                单独使用clipboardData.getData('text');//IE返回null firefox和Chrome返回空
                只能配合clipboardData.setData('text','content');
                然后再用clipboardData.getData('text');//可以返回正常的对象数据
            */
            //clipboardData.setData('text','abc');
            //this.value = clipboardData.getData('text');
            alert( clipboardData.getData('text') );
        });

    获取剪切板兼容版:

    getClipboardText: function(event){//兼容获取文本
                    var clipboardData = (event.clipboardData || window.clipboardData);
                    return clipboardData.getData('text');
                },
                setClipboardText: function(event,value){//兼容修改文本
                    if (event.clipboardData)
                    {
                        return event.clipboardData.setData('text/plain',value);
                    }else if (window.clipboardData)
                    {
                        return window.clipboardData.setData('text',value);
                    }
                }
  • 相关阅读:
    Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
    Android实用代码七段(五)
    Android实用代码七段(四)
    Android实用代码七段(三)
    Android实用代码七段(二)
    android实用代码
    发送Notification
    按两次back键退出程序
    java常用的几种设计模式
    拍照获取图片和相册中获取图片
  • 原文地址:https://www.cnblogs.com/jokes/p/9871261.html
Copyright © 2020-2023  润新知