return false的问题

来源:2-3 为搜索框添加功能--事件代理和显示隐藏下拉层

夜魇丶

2019-11-09 16:21:34

    $input.on('focus', function() {

        $layer.show();

    }).on('click', function() {

        return false;

    });

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

        $layer.hide();

    })


input标签绑定了focus事件,失去焦点,触发显示下拉层。当点击document时候,隐藏下拉层。

所以在input标签又加了一个点击事件,当我点击input标签时,因为事件冒泡,input点击事件和document点击事件同时被触发,return false直接结束了这个function,阻止了事件冒泡。

如果这么理解的话还挺明白的…但是为什么一定要return false 。return true不可以么,return的话应该就直接结束这个方法了。那么直接return;跳出这个方法,理论上也是可以的吧。

麻烦老师讲一下return false具体用法是什么。

写回答

1回答

好帮手慕言

2019-11-09

同学你好,return true和return并不能阻止事件冒泡。

return false会阻止事件冒泡也会阻止默认事件。这就是一个规定的语法。同学记住就可以了。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程