Я пытаюсь связать событие нажатия клавиши на вновь созданном узле из контекстного меню jsTree. Кажется, добавление слушателя для каждого узла не так хорошо idea..Edited согласно предложению на основе замечаний, представленных нижеjsTree: связать событие нажатия клавиши на вновь созданном узле
$(function() {
$('#demo').jstree({
...
"contextmenu":{
"items": function($node) {
var tree = $("#demo").jstree(true);
return {
"Create": {
"separator_before": false,
"separator_after": false,
"label": "Create",
"action": function (obj) {
var newNode = createNode($node,tree);
//tree.edit(newNode);
tree.edit(newNode, null, function (the_node, rename_status) {
console.log("status:"+rename_status);
});
}
}
}
};
}
}
})
});
function createNode($node,tree)
{
$newNode = tree.create_node($node); //create new node
return $newNode;
}
Большое спасибо за информацию, я поеду со вторым подходом, поскольку первый, похоже, немного запутан для конечного пользователя. Я редактировал в своем сообщении выше. Событие нажатия клавиши запускается, но каким-то образом он не распознает ключ ввода, поэтому предупреждение не запускается в моем случае ... У вас есть идеи, что я пропустил? – user596502
Ключ ввода захватывается текстовым полем переименования (отображается при вызове 'edit'). Мне нужно спросить - чего вы пытаетесь достичь? Привязать событие к каждому узлу или только в текстовом поле переименования? – vakata
Я пытаюсь связать событие на каждом узле, поэтому, когда create_node завершен, мне нужно отправить имя вновь созданного узла (при нажатии на ввод) на сервер в то же время – user596502