首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >破坏.preventDefault()

破坏.preventDefault()
EN

Stack Overflow用户
提问于 2013-11-13 07:32:40
回答 3查看 251关注 0票数 1

每当我使用preventDefault()时,通常都会将它放在事件处理程序的顶部,如下所示:

代码语言:javascript
复制
$('#foo').on('click', function(e){
  e.preventDefault();
  // do stuff
});

把它放在事件处理程序的底部,并在调用e.preventDefault()之前做一些事情,会有什么害处吗?

另一种解释这个问题的方法是:通过将e.preventDefault()包含在事件处理程序中的任何地方,您将永远不会遵循--比如说,链接上的目标或表单的提交?

我设置了一个小提琴,你可以在这里玩:http://jsfiddle.net/tuanderful/SMdrN/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-13 07:41:58

只要代码中没有出错,那么在哪里调用preventDefault并不重要。

如果您将它放在代码中的第一位,那么即使脚本进一步崩溃,它也会防止默认操作。

如果你把它放在最后的代码中,只有在脚本没有崩溃的时候,它才会阻止默认的操作。

票数 0
EN

Stack Overflow用户

发布于 2013-11-13 07:33:35

是的..你把这句话放在哪里是不相关的。

只要在处理程序中调用e.preventDefault(),默认操作就不会被触发。

票数 3
EN

Stack Overflow用户

发布于 2013-11-13 07:34:09

你可以把它放在任何你想要的地方,你甚至可以在一些if块中调用e.preventDefault();,它不会改变行为

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19947924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档