javascript - 在没有多个事件监听器的情况下检测表单提交()?

标签 javascript jquery

我有一个 web 应用程序,我试图让它尽可能快地运行,其中一种方法是减少我附加的事件监听器的数量。

我有很多表格(大约 12 个)。我目前检查他们是否提交了:

$('#form-id').on('submit', function(){
    //actions here
});

对于每个表单。有没有一种方法可以做到这一点,但只为提交附加一个监听器?然后根据表单 ID 执行 switch 语句来决定要执行的操作?

最佳答案

对所有选定表单的 submit 事件使用委托(delegate)。 $(this) 将是当前表单。

$(document).on("submit", "form", function () {  
   // actions here
   // $(this).something...
   return false;
});

return false 用于防止默认浏览器行为。

关于javascript - 在没有多个事件监听器的情况下检测表单提交()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22866976/

相关文章:

javascript - 为什么我无法从某些函数(JavaScript)内部访问变量?

javascript - 在复选框组循环中选择至少 1 个复选框

jquery - 如何使用 bootstrap 3 隐藏表格中的空单元格

javascript - Controller 未定义 AngularJS

javascript - 如何检查 iframe 是否已完全加载?

javascript - 将 jquery 变量传递给 javascript 函数

javascript - 将鼠标悬停在一个跨度上,然后通过添加和删除类来更改该跨度以及另一个跨度的背景颜色

javascript - 函数在 "$(function() {"内部有效但在外部无效?

Javascript - var 有何不同?

javascript - 检查列表元素是否可见(jquery.visible)