如何防止我的 jQuery textarea Focus 事件连续无限次重复触发
How to prevent my jQuery textarea Focus event from firing repeatedly for ulimted times in a row
我有类似下面的基本 JavaScript jQuery 代码的东西,它在我的项目代码中只被调用一次,但是当我通过单击我的鼠标光标进去!
projectTaskModal.cache.$cmtTextarea.on('focus', function() {
alert('ON FOCUS EVENT');
});
我的目标是触发此事件 1 次,因为它用于简单地添加 CSS class 和一些其他任务,这些任务在我的表单发布后被删除。表单随 AJAX 请求一起发布,然后它已准备好用于下一个 Focus
操作以再次触发事件。然而,如前所述,每次我给它聚焦时它都会触发 100 多次!不好,求助!
你看过了吗.one()
尝试
projectTaskModal.cache.$cmtTextarea.one('focus', function() {
alert('ON FOCUS EVENT');
});
您可能需要在发布表单后将其附回。
你最好有一面旗帜。试试这个。
var isEventTriggered = false;
projectTaskModal.cache.$cmtTextarea.on('focus', function () {
if (!isEventTriggered) {
alert('ON FOCUS EVENT');
isEventTriggered = true;
}
});
我有类似下面的基本 JavaScript jQuery 代码的东西,它在我的项目代码中只被调用一次,但是当我通过单击我的鼠标光标进去!
projectTaskModal.cache.$cmtTextarea.on('focus', function() {
alert('ON FOCUS EVENT');
});
我的目标是触发此事件 1 次,因为它用于简单地添加 CSS class 和一些其他任务,这些任务在我的表单发布后被删除。表单随 AJAX 请求一起发布,然后它已准备好用于下一个 Focus
操作以再次触发事件。然而,如前所述,每次我给它聚焦时它都会触发 100 多次!不好,求助!
你看过了吗.one()
尝试
projectTaskModal.cache.$cmtTextarea.one('focus', function() {
alert('ON FOCUS EVENT');
});
您可能需要在发布表单后将其附回。
你最好有一面旗帜。试试这个。
var isEventTriggered = false;
projectTaskModal.cache.$cmtTextarea.on('focus', function () {
if (!isEventTriggered) {
alert('ON FOCUS EVENT');
isEventTriggered = true;
}
});