事件冒泡和阻止默认事件

前几天去参加了一些面试,和几位大牛谈了谈,问了一些前端常见的问题,也问了一些细节上的问题。虽然是短短的几个小时,但是对于我来说也是一段非常宝贵的时光,让我也发现了自身的一些问题。
其中一个问题,让我印象深刻,问的是一个前端相对常见的一个问题,问到如何阻止事件冒泡,如何阻止移动端是默认事件。其实,在之前我在学习前端的时候,看到这部分的时候,我也是一知半解,并不清楚如何写是一个比较好的方法,来解决这些问题。导致面试的时候,回答的也是比较差。
今天,就用这篇文章,让自己谨记这次的教诲,作为一名程序猿,只会用代码,是最低级的猿,注重细节,理解他的原理才能逐渐从万千咸鱼中脱颖而出。
话不多说了,上代码

        function stopEvent(event){ //阻止冒泡事件
          //取消事件冒泡
          var e=arguments.callee.caller.arguments[0]||event; //若省略        此句,下面的e改  为event,IE运行可以,但是其他浏览器就不兼容
        if (e && e.stopPropagation) {
            // this code is for Mozilla and Opera
            e.stopPropagation();
        } else if (window.event) {
            // this code is for IE
            window.event.cancelBubble = true;
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。