Jquery 事件处理程序返回值

IT技术 javascript jquery
2021-02-24 08:39:07

.click().change()处理程序(如return truereturn false返回值是否有任何用处

2个回答

return false;将向上冒泡停止事件镇压的默认操作。

换句话说,返回 false 类似于这两行

event.stopPropagation();
event.preventDefault();

至少对于冒泡且可取消的事件。

stopPropagation 仅适用于 jQuery 事件处理程序(但问题是 jquery 事件处理程序)
2021-05-03 08:39:07

return false在这样的处理程序中导致event.stopPropagation()(仅适用于 jQuery 事件处理程序,正如 Tim Down 在评论中建议的那样)event.preventDefault()并由 jQuery 自动调用。

return true 与不返回任何内容相同(jQuery 不执行任何操作)。

在这种情况下,jQuery 在这里采取了自由:对于非 jQuery 事件处理程序,return false只会阻止默认操作,而不会阻止事件冒泡。
2021-04-17 08:39:07
@JoLiss:return false对使用 DOM 附加的事件侦听器无效addEventListener()它可以抑制所谓的 DOM0 事件处理程序中的默认行为,例如document.body.onclick = function() { return false; };
2021-04-19 08:39:07
默认情况下,一个普通的return(没有指定的返回值)或只是“从函数的边缘掉下来”-returning 将导致函数 return undefinedjQuery 对此有何反应?
2021-04-20 08:39:07
@Tim Down:很高兴知道。我会将其添加到我的答案中。
2021-04-24 08:39:07
@TimDown 为了澄清,“非 jQuery 事件处理程序”是指通过 jQuery 方法(.on 或 .live/.bind/.delegate)以外的其他方式附加的处理程序,例如 addEventListener?
2021-05-01 08:39:07