首页 > 解决方案 > jquery中的任务同步

问题描述

一个函数可以由两个事件触发,但在一个事件已经发生后不要让它由第二个事件触发,例如一个函数创建一个盒子,它可以通过两种方法完成

  1. 按回车
  2. 专注

因此,一旦创建了框,就不要让它由其他事件创建。(请告诉多种方法)。

<textarea onfocusout="createFolder()>
or
$("textarea").keypress(function (e) {
    if (e.which == 13 && !e.shiftKey) {
    // $('textarea').replaceWith('<p class="text-center bd-title">' + $("textarea").val() + '</p>')
           createFolder();
      }
});

标签: javascriptjquery

解决方案


你可以维护一个标志

let isFolderCreated = false;
$("textarea").keypress(function (e) {
    if (!isFolderCreated && (e.which == 13 && !e.shiftKey)) {
           isFolderCreated = true;
           createFolder();
      }
});

它在这里所做的只是检查是否未创建文件夹并创建文件夹


推荐阅读