当单击一个文件来创建jstree叶时,它会使用jquery创建许多叶

当单击一个文件来创建jstree叶时,它会使用jquery创建许多叶,jquery,Jquery,如何确保click事件只单击一次而不是多次,从而在jstree中创建多个叶节点?下面的代码有时会在单击“文件”按钮时创建多个叶节点 代码如下: $(".hoverTree").hover(function() { $(this).on("click", function(event) { if($.trim($(this).attr("value")) == "fileB

如何确保click事件只单击一次而不是多次,从而在jstree中创建多个叶节点?下面的代码有时会在单击“文件”按钮时创建多个叶节点

代码如下:

        $(".hoverTree").hover(function()
        {
              $(this).on("click", function(event)
              {
                   if($.trim($(this).attr("value")) == "fileButton")
                   {
                       var fileID = setID();
                       $("#treeFile").jstree("create", null, "last", {"attr" : "SpecialFile", "id" : "file_"+fileID})
                   }
              });
        });
您可以使用
.one()


再来一次?您必须用鼠标离开树并返回,以便
one
重新绑定单击事件。
$(this).one("click", function(event)
          {
               if($.trim($(this).attr("value")) == "fileButton")
               {
                   var fileID = setID();
                   $("#treeFile").jstree("create", null, "last", {"attr" : "SpecialFile", "id" : "file_"+fileID})
               }
          });