我只想在元素输入中的焦点处触发一次功能。以下代码在无限循环中调用该函数。
<input type="text" class="dateRangeEducLev">
$(document).on("focusin",".dateRangeEducLev",function(e){
alert("focusIn");
});
我可以将事件更改为“onClick”,但每次用户单击输入元素时它都会调用该函数,即使该输入元素已被选中也是如此。这是不可取的。
我试图解决这个防止传播的问题,但它不起作用。这是代码:
$(document).on("focusin",".dateRangeEducLev",function(e){
alert("focusIn");
e.stopPropagation();
});
http://jsfiddle.net/r1b06udo/1/
关于如何停止传播或限制函数只被调用一次的任何想法?
更新:如果我使用 off() 或 one() 将永远停止调用该函数,直到浏览器刷新。另一个问题是,如果我有多个具有相同类的元素,则将为它们禁用该功能。
http://jsfiddle.net/r1b06udo/2/
我有一个新的更新。我选择解除绑定和绑定。如果您看到它将适用于第一轮。但是,如果您仍然专注,他们将无能为力,但如果您仍然专注,它会工作一段时间。