仅对集合中的所有项目触发一次点击

  • 本文关键字:一次 集合 项目 jquery
  • 更新时间 :
  • 英文 :


我有一个包含许多字段的表单,我需要单击其中任何一个都会触发模态。 每个表单只应发生一次,与单击哪个字段无关。

假设每个字段都由 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>

最新更新