资讯专栏INFORMATION COLUMN

《Javascript高级程序设计》14章-----过滤输入

qc1iu / 2980人阅读

摘要:为了不要屏蔽那些非字符键,所以有的条件为了不屏蔽用户输入或者等组合键,判断用户没有按下键,所以有的条件。操作剪切板都支持剪切板,但不支持。获取和设置剪切板数据注意在下测试成功,但是在下利用不成功有时间用实践一下方法只能在事件中才有效

1、屏蔽字符(监听keypress事件)

var username = document.forms["form"].username;
username.onkeypress = function(e){
    var charcode = e.charCode;
    if(!/d/.test(String.fromCharCode(charcode)) && charcode>9 && !e.ctrlKey){
        e.preventDefault();
    }
}

注意:
1、因为Firefox和Safari(3.1版本之前)会对上下键、左右键、delete键和退格键触发keypress事件,在Firefox中非字符的charCode的值为0,在Safari(3.1版本之前)charCode的值为8。为了不要屏蔽那些非字符键,所以有charCode>9的条件;
2、为了不屏蔽用户输入ctrl+C或者Ctrl+V等组合键,判断用户没有按下Ctrl键,所以有!e.ctrlKey的条件。

2、操作剪切板

IE、Firefox、Safari都支持剪切板,但Opera不支持。
支持6种事件(copy、paste、cut、beforeCopy、beforePaste、beforeCut)事件。在IE中剪切板数据利用window.clipboardData访问,在Firefox和Safari中用event.clipboardData访问。

获取和设置剪切板数据

var EventUtil = {
    getClipboardData: function(e){
        var clipboardData = window.clipboardData || e.clipboardData;
        return clipboardData.getData("text");
    },
    setClipboardData: function(e, value){
        console.log(e.clipboardData);
        if(e.clipboardData){
            return e.clipboardData.setData("text/plain", value);
        }else if(window.clipboardData){
            return window.clipboardData.setData("text", value);
        }
    }
}

注意
1、在IE下测试成功,但是在chrome下利用setData不成功!有时间用http://wangningmei.is-programmer.com/posts/36438.html实践一下;
2、getData方法只能在paste事件中才有效

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85763.html

相关文章

  • 全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

    摘要:本书主要探索函数式编程的核心思想。我们在中应用的仅仅是一套基本的函数式编程概念的子集。我称之为轻量级函数式编程。通常来说,关于函数式编程的书籍都热衷于拓展阅读者的知识面,并企图覆盖更多的知识点。,本书统称为函数式编程者。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 译者团队(排名不分先后)...

    paney129 评论0 收藏0
  • 如何正确学习JavaScript

    摘要:然而,虽然先生对无所不知,被誉为世界的爱因斯坦,但他的语言精粹并不适合初学者学习。即便如此,在后面我还是会建议把当做补充的学习资源。但目前为止,依然是学习编程的好帮手。周正则表达式,对象,事件,阅读权威指南第,,,章。 既然你找到这篇文章来,说明你是真心想学好JavaScript的。你没有想错,当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript。而面对泛...

    canger 评论0 收藏0
  • [译] 如何恰当地学习 JavaScript

    摘要:原文链接恰当地学习适合第一次编程和非的程序员持续时间到周前提无需编程经验继续下面的课程。如果你没有足够的时间在周内完成全部的章节,学习时间尽力不要超过周。你还不是一个绝地武士,必须持续使用你最新学到的知识和技能,尽可能地经常持续学习和提高。 原文链接:How to Learn JavaScript Properly 恰当地学习 JavaScript (适合第一次编程和非 JavaSc...

    Jason 评论0 收藏0
  • 翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 引言&前言

    摘要:我称之为轻量级函数式编程。序众所周知,我是一个函数式编程迷。函数式编程有很多种定义。本书是你开启函数式编程旅途的绝佳起点。事实上,已经有很多从头到尾正确的方式介绍函数式编程的书了。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 译者团队(排名不分先后):阿希、blueken、brucecham、...

    2bdenny 评论0 收藏0
  • JavaScript书籍测评

    摘要:前言今天和大家一起聊聊的推荐书籍,每一本都是精选,做前端开发的朋友们如果没读过,可以尝试一下。如果怕麻烦,也可以关注晓舟报告,发送获取书籍,四个字,就可以得到电子书的提取码。 前言 今天和大家一起聊聊JavaScript的推荐书籍,每一本都是精选,做前端开发的朋友们如果没读过,可以尝试一下。下面给大家简单介绍了书的内容,还有读书的方法,希望可以帮大家提升读书效率。 一、《JavaScr...

    X1nFLY 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<