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      卸载事件

 

转载于:https://www.cnblogs.com/792155879a/p/5723439.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值