因此,我尝试为包含文件输入的表单和不包含文件输入的表单设置单独的提交侦听器。当我在添加侦听器之前尝试过滤我想要的元素时,它似乎选择了整个 html 正文。这可以实现吗?或者我是否已将两个侦听器都设置为所有表单并在提交后进行过滤?
http://jsfiddle.net/bi11j0hnst0n/MMzg7/3/
$(function(){
//file form listener
var file_forms = $('input[type=file]').closest('form');
$('body').on('submit', file_forms, function(event){
event.preventDefault();
var form = $(this);
form.css('background-color', 'blue');
setTimeout(function(){
form.css('background-color', 'white');
}, 3000);
});
//regular form listener
var regular_forms = $('form').not($('input[type=file]').closest('form'));
$('body').on('submit', regular_forms, function(event){
event.preventDefault();
var form = $(this);
form.css('background-color', 'red');
setTimeout(function(){
form.css('background-color', 'white');
}, 3000);
});
});