当我想阻止其他事件处理程序在某个事件被触发后执行时,可以使用两种技术之一。我将在示例中使用jQuery,但这也适用于纯JS:
event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
return false
$('a').click(function () {
// custom handling here
return false;
});
这两种停止事件传播的方法之间是否有显着差异?
对我来说,return false;
比执行方法更简单,更短并且更容易出错。使用该方法时,您必须记住正确的大小写,括号等。
另外,我必须在回调中定义第一个参数才能调用该方法。也许,出于某些原因,我应该避免这样做并preventDefault
改为使用它?有什么更好的方法?
return false
从 jQuery事件处理程序内部进行
调用实际上e.preventDefault
与e.stopPropagation
在传递的jQuery.Event对象上进行调用相同 。
e.preventDefault()
将防止发生默认事件,e.stopPropagation()
将防止事件冒泡,并且return false
两者都会发生。请注意,此行为不同于 正常 (非jQuery的)事件处理程序,其中,值得注意的是,return false
也 没有
冒泡停止该事件。
问题内容: 我有一个如下定义的可连接pthread运行器函数: 该线程应该加入主线程。 每当我通过Valgrind运行程序时,都会出现 以下泄漏 : 我检查了手册页中的pthread,其中说: 奇迹般地,当我用return语句替换pthread_exit()时, 泄漏消失了 。 我的实际问题有三点: 有人可以解释为什么return语句没有泄漏吗? 相对于从线程退出,两个语句之间是否存在一些根本区别
问题内容: 我想知道是否和相同。 例如,如果事件处理程序是使用旧模型添加的 }; 然后,阻止默认操作,例如。 如果事件处理程序使用添加,例如 ); 然后,不要阻止默认操作。 所有浏览器的行为都一样吗? 和之间还有更多区别吗? 在哪里可以找到一些有关行为的文档(我在MDN中找不到)? 问题答案: 的W3C文档对象模型事件规范在 _1.3.1。 事件注册接口_指出,EventListener中没有返回
更新 我已经读了十几篇关于这个话题的文章,但没有一篇涉及到这个基本问题。我将在本文末尾列出一个参考资料部分。 原始帖子 我对函数的理解是,它返回一个promise。 MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function 在我的程序中,我可以编写如下内容: 我
问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电:
问题内容: 该方法返回的表示形式。这里返回的对象是数组支持的,但不是对象。 我正在寻找对象返回值与对象之间的差异- 一种快速的来源,可以告诉它们而无需深入研究代码。 TIA。 问题答案: 当您调用Arrays.asList时,它不会返回。它返回一个由原始源数组支持的固定大小列表。换句话说,它是使用Java的基于集合的API公开的数组的视图。 您不能向其中添加元素,也不能从中删除元素。如果您尝试从中
问题内容: 我看到的问题是我正在尝试将Gorilla mux Router.Handle函数与一起使用。 这不起作用(图像返回404)。 这有效(图像显示正常)。 下面简单的转到Web服务器程序,显示问题… 问题答案: 我将其发布在golang-nuts讨论组上,并 从 ToniCárdenas获得了此解决方案 … 标准的net / http ServeMux(这是您在使用时使用的标准处理程序)和