我有一个网络应用程序,我试图尽可能快地运行,其中一种方法是减少我附加的事件监听器的数量。
我有很多表格(大约12个)。我目前检查他们是否提交:
$('#form-id').on('submit', function(){
//actions here
});
表格。有没有办法可以做到这一点,但只提供一个听众提交?然后根据表单ID执行switch语句来决定要执行的操作?
答案 0 :(得分:3)
对所有选定表单使用submit
事件的委托。 $(this)
将是当前的表单。
$(document).on("submit", "form", function () {
// actions here
// $(this).something...
return false;
});
return false
用于防止默认的浏览器行为。
答案 1 :(得分:2)
使用事件委托
$(document).on('submit', 'form', function(e) {
e.preventDefault();
// ....
});
这只会为文档添加一个监听器,只要提交表单就会调用该监听器。
答案 2 :(得分:0)
您可以使用
$('form').on('submit', function() {
//you can use $(this).attr('id') to get id of submitted form
}
捕获所有表单的提交事件。