zoukankan      html  css  js  c++  java
  • return、reutrn false、e.preventDefault、e.stopPropagation、e.stopImmediatePropagation的区别

    return

    var i = function(){

                return

            }

            console.log(i())//undefined

    return的主要作用是阻止函数继续执行,直接返回undefined

    return false

    <a class="baidu" href="http://www.baidu.com">百度</a>

    $('.baidu').on('click',function(e){

                console.log(1)

               return false

            })//1

    并未跳转页面,当每次调用return false时,实际做了3件事情

    1.event.preventDefault();

    2.event.stopPropagation();

    3.停止回调函数执行并立即返回

    e.preventDefault

    $('.baidu').on('click',function(e){

                console.log(1)

               e.preventDefault()

            })//1

    e.preventDefault()方法用来阻止浏览器继续执行默认行为,这里阻止了页面的跳转

    e.stopPropagation

    <div class="btn"><a class="baidu" href="http://www.baidu.com">百度</a></div>

    $('.btn').on('click', function () {

            console.log(520)

        })

        $('.btn .baidu').on('click', function (e) {

            console.log(1)

            e.preventDefault()

            e.stopPropagation()

        })

    输出结果为1

    e.stopPropagation阻止事件冒泡

    e.stopImmediatePropagation

    $('.btn .baidu').on('click',function(e){

            console.log(1)

            e.preventDefault()

        })

        $('.btn .baidu').on('click',function(e){

            console.log(2)

            e.preventDefault()

            e.stopImmediatePropagation()

        })

        $('.btn .baidu').on('click',function(e){

            e.preventDefault()

            console.log(3)

        })

        $('.btn').on('click',function(e){

            e.preventDefault()

            console.log(4)

        })

    点击输出结果为1,2

    e.stopImmediatePropagation()会停止一个事件继续执行,即使当前的对象上还绑定了其他处理函数,所有绑定在一个对象上的事件会按照绑定顺序执行

    综上所述

    return阻止函数继续执行,返回undefined

    return false有三个作用,阻止浏览器默认行为,阻止事件冒泡,停止回调函数执行并立即返回

    event.preventDefault阻止浏览器默认行为

    event.stopPropagation阻止事件冒泡

    event.stopImmediatePropagation停止一个事件继续执行,即使当前的对象上还绑定了其他处理函数,所有绑定在一个对象上的事件会按照绑定顺序执行

  • 相关阅读:
    Linux 安装 jdk 后 jps 出现问题/usr/jdk1.8.0_151/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: No such
    Jackson 注解
    Git 右键添加Git Bash
    No validator could be found for constraint
    rror querying database. Cause: java.sql.SQLException: null, message from server: "Host '192.168.30.1' is not allowed to connect to this MySQL server"
    Linux 安装 Mysql-5.7.23-linux-glibc2
    Promise
    PAT(B) 1094 谷歌的招聘(Java)
    PAT(B) 1074 宇宙无敌加法器(Java)
    PAT(B) 1078 字符串压缩与解压(Java)
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/10869819.html
Copyright © 2011-2022 走看看