我什么时候应该在jquery函数中使用return false?

zhu*_*hou 34 javascript jquery callback return-value

我找到了很多像这样的函数:

$(function() {
    $("body a").click(function() {
        alert(this.innerHTML);
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

this$(this)jquery 之间的区别是什么?

他们都有一条线return false;- 我不知道什么时候应该return false在jquery函数中使用它并且不知道它的用途是什么?

gru*_*led 61

根据jQuery事件:停止(误)使用Return False(归档链接),返回时false执行三个任务:

  1. event.preventDefault();
  2. event.stopPropagation();
  3. 停止回调执行并在调用时立即返回.

取消默认行为所需的唯一操作是preventDefault().发行return false;可以创建脆弱的代码.通常你只想要这个:

$("a").on( 'click', function (e) {
    // e == our event data
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

其次,"this"是javascript中的DOM元素,"$(this)"是引用DOM元素的jQuery元素.阅读更多关于jQuery主题的内容:揭秘.


Kon*_*Kon 9

您正在点击锚点,其默认行为是在某处导航.返回false可能是阻止导航并使用户保持当前页面/视图的尝试.