美文网首页
JS基础面试题

JS基础面试题

作者: Allan要做活神仙 | 来源:发表于2017-04-28 10:35 被阅读24次

1、什么是事件冒泡

IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点。

2、如何利用事件冒泡

  1. 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件
    <div onclick="eventHandle(event)" id="outSide" 
            style="width:100px;
             height:100px; 
             background:#000; 
             padding:50px">

        <div id="inSide" style="width:100px; height:100px; background:#CCC"></div>

    </div>


    function eventHandle (e) {
         var e=e||window.event;
         var obj=e.target||e.srcElement;
         console.log(obj.id+' was click')
     }
0.jpg
  1. 让不同的对象同时捕获同一事件,并调用自己的专属处理程序做自己的事情
    <div onclick="outSideWork()"
            id="outSide" 
            style="width:100px; height:100px; background:#000; padding:50px">

        <div onclick="inSideWork()"
                id="inSide" 
                style="width:100px; height:100px; background:#CCC"></div>

    </div>

function outSideWork(){  // 点击外层div,内层不会被触发
    alert('My name is outSide,I was working...');  
}
function inSideWork(){    // 点击里面的div,这个事件完了再直接上一层
    alert('My name is inSide,I was working...');
}

3、如何阻止冒泡

e.stopPropagation()
window.event.cancelBubble = true

<div    onclick="showMsg(this,event)" 
        id="outSide" 
        style="width:100px; height:100px; background:#000; padding:50px">

    <div    onclick="showMsg(this,event)" 
            id="inSide" 
            style="width:100px; height:100px; background:#CCC"></div>
</div>


function stopBubble(e){
    if (e && e.stopPropagation)
        e.stopPropagation()
    else
        window.event.cancelBubble=true
}
function showMsg(obj,e){
    alert(obj.id);
    stopBubble(e)
}

相关文章

  • 前端相关大杂烩

    前端基础面试题(JS部分) 前端基础面试题(JS部分)学习 React.js 比你想象的要简单 原文地址:Lear...

  • 前端JavaScript面试技巧

    1-1 课程概述 要做什么?——讲解前端 JS 基础面试题 哪些部分?——JS 基础,JS-WEB-API,JS ...

  • js 基础面试题

    js 基础面试题 1 js中使用typeof能得到哪些类型? undefined、string、number、bo...

  • js 后端开发基础面试题

    js 后端开发基础面试题 1 为什么要用node? Node.js 是谷歌 V8 引擎(公认最快的 Javascr...

  • Javascript学习地图

    学习地图 多分享多总结 js基础 面试题 笔试题 好的代码 新的问题

  • 面试题记录

    面试题1 js中基础类型和引用类型有哪些,怎么判断(typeof, instaceof, Object.proto...

  • js基础面试题

    面试题:延迟加载JS有哪些方式? 面试题:JS数据类型有哪些? 面试题:JS数据类型考题 考题一: 考题二: 面试...

  • 变量声明提升

    变量声明提升是JS中一个基础的问题,同时也是对JS词法作用域认识的一个提升。在JS面试题中,关于变量声明提升的问题...

  • JS基础面试题

    1、什么是事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素接收,然后...

  • js基础面试题

    (掌握)什么是“use strict”,好处和坏处 use ‘strict’: "严格模式"是一种在JavaScr...

网友评论

      本文标题:JS基础面试题

      本文链接:https://www.haomeiwen.com/subject/ensozttx.html