Javascript 在.focusout()之前触发表单提交
我有一个搜索表:Javascript 在.focusout()之前触发表单提交,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个搜索表: <form id="search" role="search" method="get" action="/"> <input id="search-text" type="text" placeholder="Search" name="s"> <input id="search-submit" type="submit" value=""> <div id="search-toggle"></di
<form id="search" role="search" method="get" action="/">
<input id="search-text" type="text" placeholder="Search" name="s">
<input id="search-submit" type="submit" value="">
<div id="search-toggle"></div>
</form>
如果单击了#搜索提交
按钮,如何确保在隐藏所有内容之前提交表单
目前,表单提交从不触发。一种方法是在隐藏表单之前使用很少的超时,以便提交事件可以正确传播:
$('#search-text').focusout(function () {
var self = this;
timeout = setTimeout(function() {
$('#search-submit, #search-toggle, .social').add(self).toggle();
}, 200);
});
$('#search').on('submit', function() {
clearTimeout(timeout);
});
演示:
$('#search-text').focusout(function () {
var self = this;
timeout = setTimeout(function() {
$('#search-submit, #search-toggle, .social').add(self).toggle();
}, 200);
});
$('#search').on('submit', function() {
clearTimeout(timeout);
});