Javascript jQuery-submit()多次激发。为什么?
我有一个表单,在Javascript jQuery-submit()多次激发。为什么?,javascript,jquery,laravel-5,Javascript,Jquery,Laravel 5,我有一个表单,在submit上执行以下代码 $(document).on('submit','#search_client_form',function(e){ e.preventDefault(); clientSearch(); }); function clientSearch(){ console.log('foo') } 我可以在控制台中看到,foo这个词被执行了11次或12次而不是1次 我已经设法解决了我的问题,在我的第一个代码示例的on()函数之前添加了o
submit
上执行以下代码
$(document).on('submit','#search_client_form',function(e){
e.preventDefault();
clientSearch();
});
function clientSearch(){
console.log('foo')
}
我可以在控制台中看到,foo这个词被执行了11次或12次而不是1次
我已经设法解决了我的问题,在我的第一个代码示例的on()
函数之前添加了off()
函数
我需要的是解释为什么会发生这种情况。在以前的开发中,我从未遇到过同样的问题
更新:
我的表格:
<div class="row">
<div class="form-group">
{{ Form::open(array('id' => 'search_client_form')) }}
<input type="text" class="form-control" name="search_client_term" placeholder="Search For Client">
<span class="input-group-btn text-right">
<button class="btn btn-primary" type="submit">
<i class="fa fa-search"> Search</i>
</button>
</span>
{{Form::close()}}
</div>
</div>
{{Form::open(数组('id'=>'search\u client\u Form'))}
搜寻
{{Form::close()}}
Try返回false
在事件句柄中发生这种情况是因为方法上的添加了一个监听器,它不会替换已经存在的监听器。您可能在
上多次调用了times@Tushar为什么在e.preventDefault
时返回false?@Makis这是整个代码吗?你确定你没有意外地将处理程序附加到循环或类似的东西中吗?@Makis你能用小提琴重现这个问题吗?它工作良好,请尝试返回false
在事件句柄中发生这种情况是因为
方法上的添加了一个监听器,它不会替换已经存在的监听器。您可能在
上多次调用了times@Tushar为什么在e.preventDefault
时返回false?@Makis这是整个代码吗?你确定你没有意外地将处理程序附加到循环或类似的东西中吗?@Makis你能用小提琴重现这个问题吗?它很好用