如何防止我的 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;
    }
});