我有一个包含许多字段的表单,我需要单击其中任何一个都会触发模态。 每个表单只应发生一次,与单击哪个字段无关。
假设每个字段都由 CSS 类.form-control
标识,我尝试使用 jQuery.one()
方法,方式如下:
$('.form-control').one('click',function(){
$('#modal').modal();
});
这几乎可以正确运行,因为肯定它仅在我第一次单击每个字段时才打开模态,但是如果我单击另一个字段,它会再次打开模态,这不是 deneedrata。
这里有一个简单的示例,其中我打开警报而不是简单模式。如果您单击第一个字段,则会打开警报,接下来单击同一字段不会执行任何操作(正确(,但单击第二个字段会再次触发它,这不是我需要的。
请问,如何将模态打开限制为仅首先单击任何字段?
您可以使用jQueryoff
方法删除事件处理程序,例如
$(function() {
$('.form-control').on('click', function() {
console.log('ok');
$('.form-control').off('click');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input class="form-control">
<input class="form-control">
</form>