Есть ли способ программно подавить jstree "создать" событие от стрельбы?

54
4

Вот моя дилемма: я использую как контекстное меню, так и программно создавая новые узлы jstree. Проблема, с которой я сталкиваюсь, заключается в том, что когда я программно создаю новый узел jstree, он также запускает контекстное .create bind event.

Таким образом, по сути, дублирование происходит с момента создания ручного вызова создания, а также контекстного меню создания привязки. Я частично объяснил это, поставив оператор if в контекстном меню, создав обработчик событий, чтобы он не запускал его содержимое, если событие было запрограммировано.

Тем не менее, дублирование все еще возникает, так как привязка contextmenu всегда называется независимо от того, что.

Есть ли способ подавить этот контекстменю для создания события всякий раз, когда create называется программным?

Здесь код:

Обработчик событий контекстного меню для "Создать":

        .bind("create.jstree", function(e, data) {
debugger;
// Ajax call to Server with parent node id and new node text
if($("#RMSDoc_RequirementFlag").val() == "CONTEXT")
{
$.ajax({
"type": "POST",
"url": '@Url.Content("~/RMS/insertRMSNode")',
"data": {
"ParentID" : parseInt(ParentNode),
"Level" : parseInt(ParentLevel),
"ChildNodeText" : data.rslt.obj.text()
},
"success": function(new_data) {
// $.jstree._reference($("#RequirementsTree")).refresh(-1);
var addedNode = data.rslt.obj;

$(addedNode).attr("id", "rbs_" + new_data.RMSHierarchyId);
$(addedNode).attr("name", "rlevel_" + new_data.Level);
$(addedNode).addClass("jstree-closed");
ParentNode = null;
ParentLevel = null;
data = null;
return new_data;
}
});
}

BranchReqFLag = null;

Вот программно называемый метод create:

    function ReqSuccess(response) {
// Dynamically add tree branch only (for ipad)
if($("#RMSDoc_RequirementFlag").val() == "ADD_BRANCH_ONLY") {
$("#RMSDoc_TreeBranch_id").val("0");
$("#RMSDoc_TreeBranch_Text").val("");
$("#RequirementsTree").jstree("create", null, "last", {"data" : response.TreeBranch.Text,
"state" : "closed",
"attr" : { "id" : "rbs_" + response.TreeBranch.id, "name" : "rlevel_" + response.TreeBranch.Level }
});
}

спросил(а) 2012-09-17T02:50:00+04:00 7 лет, 9 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема