zoukankan      html  css  js  c++  java
  • jQuery (01) 浏览器的事件模型

    浏览器的事件模型

    • 网景公司引入的 DOM0 级事件模型
      • 把事件处理程序绑定到 DOM 元素的属性上: 
        • ele.onclick();
          ele.onDOMContentLoad();
          ele.onload();
          ele.onmousemove();

     

      • 解绑:
        • ele.onclick = null;

     

      • 取消事件冒泡
        • return false;

     

      • 缺点:如果同一元素绑定多个同类型的事件处理程序,只有最后一个生效。

     

    • W3C 定义的 DOM2 级事件模型
      • w3c 定义了两个方法来操作事件
        • 绑定事件
          • addEventListener(evenStr, func, false);

     

        • 解绑事件
          • removeEventListener(eventStr, func);

     

        • 取消事件冒泡 
          • event.stopPropagation();

     

    • jQuery 封装了事件模型
      • 绑定事件
        • $("#ulList").on("click", "li", func);

     

      • 解绑事件
        • $("#ulList").off("click", func);

     

      • 主动触发事件
        • $("#ulList li.current").trigger("click");
        • 会产生事件冒泡
        • 会执行浏览器默认行为
        • 对于 <input id="Txt" type="text">哈哈</input> 还会自动选中文本:    $("#Txt").trigger("select");
        • $("input").triggerHandler("focus");   
          • 不会产生事件冒泡
          • 不会执行浏览器默认行为
          • 若是元素集合,灰灰触发第一个元素

     

      • 关于 jQuery 取消事件冒泡
        • 使用 event.stopPropagation();    即采用 DOM2 级事件模型
        • jQuery 不支持捕获阶段

     

    --------小尾巴 ________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...
  • 相关阅读:
    python后端面试题
    Django模块
    centos 6.x下jira显示饼图乱码解决方法
    Confluence与Jira安装及后期迁移问题记录
    SaltStack安装部署
    jumpserver跳板机(堡垒机)安装
    Python之Web前端Ajax
    python3.6下pycharm连接mysql
    Mac下安装SecureCRT客户端并激活
    Python模块之paramiko
  • 原文地址:https://www.cnblogs.com/tianxiaxuange/p/9922714.html
Copyright © 2011-2022 走看看