zoukankan      html  css  js  c++  java
  • jQuery的事件

    1.事件流:

      (1)  事件捕获

      (2)  处于目标阶段

      (3)  事件冒泡

    <script>
            window.onload = function(){
    
                var oBtn = document.getElementById('btn');
    
                //1.
                document.addEventListener('click',function(){
                    console.log('document处于事件捕获阶段');
                }, true);
    
                //2.
                document.documentElement.addEventListener('click',function(){
                    console.log('html处于事件捕获阶段');
                }, true);
                //3
                 document.body.addEventListener('click',function(){
                    console.log('body处于事件捕获阶段');
                }, true);
                 //4.
                oBtn.addEventListener('click',function(){
                    console.log('btn处于事件捕获阶段');
                }, true);
                //
                oBtn.addEventListener('click',function(){
                    console.log('btn处于事件冒泡阶段');
                }, false);
                //5
                 document.body.addEventListener('click',function(){
                    console.log('body处于事件冒泡阶段');
                }, false);
                 //6
                  document.documentElement.addEventListener('click',function(){
                    console.log('html处于事件冒泡阶段');
                }, false);
               //7.
                document.addEventListener('click',function(){
                    console.log('document处于事件冒泡阶段');
                }, false);
    
        };
    
        </script>

    2.事件对象

      每一个事件的回调函数都会默认有一个事件对象

      event.target  触发目标的对象

      event.type  事件类型

      event.keyCode  键码

    3.事件冒泡  

      event.stopPropagation();

      阻止默认的事件

      event.preventDefault();

      return false;  既阻止事件冒泡又阻止默认行为

    4.事件代理

      自己完成不了的事情,交给别人去做

      原理:使用冒泡的机制

      现有的p以及未来添加的p都能做事件操作

      $("div").on("click","p",fn)

    5.鼠标事件

      click  鼠标单击触发事件

      dbclick  双击触发

      mousedown()/up()  鼠标按下/弹起触发事件

      mousemove()  鼠标移动事件

      mouseover()/out()  鼠标移入/移出触发事件(鼠标指针穿过/离开被选元素或者当前元素的子元素会触发事件)

      mouseenter()/leave()  鼠标进入/离开触发事件(鼠标指针只在穿过/离开被选元素触发事件)

      focus()/blur()  鼠标聚焦/失去焦点触发事件

      keydown()/up()  键盘按键按下/弹起触发

    6.表单事件

      change()  表单元素发生改变时触发事件

      select()  文本元素发生改变时触发事件

      submit()  表单元素发生改变时触发事件

    7.单双击问题

    var timer = null;
    $("button").click(function(event){
       console.log(timer);
       clearTimeout(timer);
       //定时器 300ms 一次性定时器
        timer = setTimeout(function(){
            console.log("单击了");
        },300);
    
    $("button").dbclick(function(event)){
        console.log(timer);
        clearTimeout(timer);
        console.log("双击了");
    });
  • 相关阅读:
    (转)NandFlash详述
    (转)Redhat Linux 硬盘挂载方法!!!
    为Linux虚拟机挂载SD卡!
    DECLARE_GLOBAL_DATA_PTR 作用
    NAND FLASH ECC校验原理与实现
    Ehcache学习笔记(三) 与Spring集成
    ExtJs ComponentQuery 组件选择器
    好记性不如烂博客之 Quartz HowTo: Update an existing job
    使用WeakReference 与 ReferenceQueue 简单实现弱引用缓存
    Ehcache学习笔记(四) Web Caching 页面级别缓存
  • 原文地址:https://www.cnblogs.com/s593941/p/9813389.html
Copyright © 2011-2022 走看看