zoukankan      html  css  js  c++  java
  • Javascript s06

    insertBefore

    第二个参数是必填参数,如果不指定第二个参数

    二级联动  省市级连

    第六天

    事件 event

    事件不是对象,是一种机制

    异步事件驱动,给个函数

             浏览器告诉的事件

             产生事件,响应事件,处理事件

    1.事件类型      event type

                       键盘事件

                       鼠标事件

                      

                       事件名称

                                click

                                lock

    2.事件目标      event target

             window

             document

             element(div,a)

    3.事件处理程序    event handler

             事件监听程序         event listener

             事件被触发     fire , trigger  , dispatch(派发)

    4.事件对象      event object

    5.事件的传播

             冒泡原理

    6.事件的捕获

    7.取消事件

             <a href="" onclick="return false;">sss</a>

            

    怎么注册事件?

                       a.写在元素的属性中      如 onclick="alert('ssss')";

                       b.写在对象上的发生事件     

                                obj.onclick=function(){};

                                obj.onclick=test;      //test是一个函数名 function text(){}

                       c.添加事件的监听

                                当绑定的时候 想调用两个函数

                                当在背后加的时候,原有事件被替换掉

                                //没有on 直接是 click

                               

                                obj.addEventListener("click",test,false)

                                不兼容IE

            

                       e.点我的时候传个事件对象

            

            

            

            

             兼容性问题

             1.e = e || window.event  IE自动有event对象 其他没有

             IE不用传递参数,因为window里面就有 window.event,因为之前是在调用的时候所写的event.

             而现在调用的是形参

             当通过设置HTML属性注册事件处理程序时,浏览器会把Javascript编码转换到一个函数中,

             非IE浏览器使用event参数来构造函数,而IE在构造函数时,没有要求参数.

            

             2.e.target = e.target || e.srcElement    返回触发此事件的元素

            

            

             3.cancelBubble || stopPropagation()      阻止冒泡事件

                      

                       function demo(num,e){

                                alert(num);

                                //e.stopPropagation();//这是标准的,IE不支持

                                e.stopPropagation ? e.stopPropagation():e.cancelBubble=true;

                                //为什么前面你的不加括号,因为加括号就执行了;

                               

                       }

            

            

             4.obj.addEventListener("click",test,false) || attachEvent("onclick",test)

            

  • 相关阅读:
    win10家庭版安装Docker for Windows
    docker镜像拉取速度过慢的解决
    解决docker: error pulling image configuration: Get https://registry-1.docker.io/v2/library/mysql/: TLS handshake timeout.
    ubuntu16.04下安装docker
    Ubuntu 16.04执行 sudo apt-get update非常慢解决方案
    [转载]MySQL存储过程详解  mysql 存储过程
    除非 Windows Activation Service (WAS)和万维网发布服务(W3SVC)均处于运行状态,
    windows资源管理器已经停止工作
    Shell脚本sqlldr导入数据压缩文件截断
    oracle 日常运维
  • 原文地址:https://www.cnblogs.com/wicub/p/3119552.html
Copyright © 2011-2022 走看看