zoukankan      html  css  js  c++  java
  • js的一些兼容性写法

    ①添加事件方法

    addHandler:function(element,type,handler){

        if(element.addEventListener){//检测是否为DOM2级方法
            element.addEventListener(type, handler, false);
        }else if (element.attachEvent){//检测是否为IE级方法
            element.attachEvent("on" + type, handler);
        else {//检测是否为DOM0级方法
            element["on" + type] = handler;
        }
    }

    ②移除之前添加的事件方法

    removeHandler:function(element, type, handler){
           if (element.removeEventListener){
               element.removeEventListener(type, handler, false);
           else if (element.detachEvent){
               element.detachEvent("on" + type, handler);
           else {
               element["on" + type] = null;
           }
       }
     

    ③获取事件及事件对象目标

    //获取事件对象的兼容性写法
     getEvent: function(event){
         return event ? event : window.event;
     },
     //获取事件对象目标的兼容性写法
     getTarget: function(event){
         return event.target || event.srcElement;
     }

    ④阻止浏览器默认事件的兼容性写法

    preventDefault: function(event){
            if (event.preventDefault){
                event.preventDefault();
            else {
                event.returnValue = false;
            }
        }

    ⑤阻止事件冒泡的兼容性写法

    stopPropagation: function(event){
            if (event.stopPropagation){
                event.stopPropagation();
            else {
                event.cancelBubble = true;
            }
        }

    ⑥mouseover和mouseout 事件才包含的获取相关元素的方法

    //mouseover和mouseout 事件才包含的获取相关元素的方法
    getRelatedTarget: function(event){
        if (event.relatedTarget){
            return event.relatedTarget;
        else if (event.toElement){
            return event.toElement;
        else if (event.fromElement){
            return event.fromElement;
        else {
            return null;
        }
    }

    ⑦鼠标滚轮判断

        /*对于mousedown 和mouseup 事件来说,则在其event 对象存在一个button 属性,
    表示按下或释放的按钮。DOM的button 属性可能有如下3 个值:0 表示主鼠标按钮,1 表示中间的鼠
    标按钮(鼠标滚轮按钮),2 表示次鼠标按钮。在常规的设置中,主鼠标按钮就是鼠标左键,而次鼠标
    按钮就是鼠标右键。
    IE8 及之前版本也提供了button 属性,但这个属性的值与DOM 的button 属性有很大差异。
     0:表示没有按下按钮。
     1:表示按下了主鼠标按钮。
     2:表示按下了次鼠标按钮。
     3:表示同时按下了主、次鼠标按钮。
     4:表示按下了中间的鼠标按钮。
     5:表示同时按下了主鼠标按钮和中间的鼠标按钮。
     6:表示同时按下了次鼠标按钮和中间的鼠标按钮。
     7:表示同时按下了三个鼠标按钮。*/
    getButton: function(event){
        if (document.implementation.hasFeature("MouseEvents""2.0")){
            return event.button;
        else {
            switch(event.button){
                case 0:
                case 1:
                case 3:
                case 5:
                case 7:
                return 0;
                case 2:
                case 6:
                return 2;
                case 4:
                return 1;
            }
        }
    }

    ⑧能够取得鼠标滚轮增量值(delta)的方法

    getWheelDelta: function(event){
        if (event.wheelDelta){
            return (client.engine.opera && client.engine.opera < 9.5 ?
                -event.wheelDelta : event.wheelDelta);
        else {
            return -event.detail * 40;//firefox中的值为+3表示向上滚,-3表示向下滚
        }
    }

    ⑨跨浏览器的方式取得字符编码

    getCharCode: function(event){
        if (typeof event.charCode == "number"){
            return event.charCode;
        else {
            return event.keyCode;
        }
    }

    ⑩访问剪贴板中的数据

    getClipboardText: function(event){
            var clipboardData = (event.clipboardData || window.clipboardData);
            return clipboardData.getData("text");
        }

    11.设置剪贴板中的数据

    setClipboardText: function(event, value){
            if (event.clipboardData){
                return event.clipboardData.setData("text/plain", value);
            else if (window.clipboardData){
                return window.clipboardData.setData("text", value);
            }
        }

    一、             为什么学习JavaScript

    1. 所有的主流浏览器都支持js
    2. 目前大部分网页都是用js
    3. 可以使静态网页变成绚丽的动态网页
    4. 易学性,只要有文本编译器就能够书写;可以用简单的标签完成一些基本的操作。

    二、             Js指令

    1. Js指令是写在<script>······</script>中间的
    2. Js文件和css文件一样可以写下HTML文件中,也可以单独写在一个文件里,原理和css文档类似。
    3. var变量的命名规则

                             i.              变量必须使用字母、下划线、或者美元符($)开始

                           ii.              之后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)

                          iii.              同时不能使用JavaScript的关键字和保留字相同

                          iv.              他是仅仅相当于把一个值的地址,传给了变量,一个变量可以使数据类型、字符类型、bool类型。

    1. alert(“hello!”);                   弹出一个只有一个确定按钮的窗口。

    注意:

    1. 在点击对话框"确定"按钮前,不能进行任何其它操作。

    2. 消息对话框通常可以用于调试程序。

    3. alert输出内容,可以是字符串或变量,与document.write 相似。

    1. confirm(“hello!”);              弹出的是一个确定和取消两个按钮的小窗口。确定返回true,取消返回false。
    2. promptprompt(str1, str2);      弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。

    参数说明:

    str1: 要显示在消息对话框中的文本,不可修改

    str2:文本框中的内容,可以修改

    返回值:

    1.点击确定按钮,文本框中的内容将作为函数返回值

    2.点击取消按钮,将返回null

    1. document.write("hello");         在窗口输出文字
    2. document.getElementById("p1").style.color="blue";    可以通过id进行样式的修改。
    3. window.open(‘’,’’)             打开窗口

    窗口的属性值:

    1. <窗口对象>.close();        关闭指定的窗口对象。
    2. Window.colse();       关闭本窗口
    3. object.className=”class” 可以设置对象的类名
    4. function  函数命名

    三、             DOM节点

    1. 1.         元素节点: <html>、<body>、<p>等都是元素节点,即标签。(标签)
    2. 2.         文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。(文字)
    3. 3.         属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"。(属性值设置)

    Var命名变量,命名规则为:

    1. 以字母、下划线或者美元符号($)开始,后面可以跟字母、下划线、美元符号($)、数字。
    2. 变量区分大小写,例如:A和a是两个变量
    3. 不能使用JavaScript的关键词以及保留字。

    Var的定义的方式为:

    1. Var mychar;
    2. Var mychar1,mychar2;
    3. Var mychar3=”JavaScript”,mychar4;

    符号说明:

          “=”是赋值符,不是等于。“==”是等于。

          “+”在数字之间的时候为,加号使用,在字符串之间的为,连接作用。字符串使用引号括起来。数字不需要的。

    对于“++”、“--”相当于+1和-1。如果在变量的前面就是先操作在使用变量,在后面就是先使用在操作变量。

    数组:

          一类存放数据的组合,使用一类具有规律的标号易于查询。

    创建的方式:
          var mychar =new Array();(注意大小写,在JavaScript中区分大小写)

    可以在Array(“设置数组的大小”);        但是在JavaScript中数组是可以变长的 ,也就是说就算规定了数组的大小,还是可以设置数组长度之外的数据的。

    在任何的时候都可以增加数组的成员。

    通过(*.length)可以显示当前数组的长度,也可以进行修改。

    关于各个事件引用的方式为:

    onclick    鼠标单击事件

    onmouseover     鼠标经过事件

    onmouseout      鼠标移出事件

    onfocus   光标聚焦事件

    onblur      光标失焦事件

    onselect   内容选中事件

    onchange      文本框内容改变事件

    onload     加载事件

    onunload      卸载事件

  • 相关阅读:
    进程间通信 之 管道
    单调递增连续最长子序列
    使用EasyUI实现加入和删除功能
    android file.createnewfile ioexception
    60个可爱的云图案设计,激发你的灵感
    关于Platinum库的MediaRender具体C++代码实现探讨
    《程序员的第一年》---------- 学会抛出异常 你的程序人生才幸福
    LA 3027 Corporative Network 并查集记录点到根的距离
    Struts2 学习第一步准备工作
    Android编程心得-图片自适应心得
  • 原文地址:https://www.cnblogs.com/792155879a/p/5723439.html
Copyright © 2011-2022 走看看