双击更改树标签

double click to change tree label

我有一个 javascript 树控件,它是用嵌套的 UL 和 LI 构建的。我想让用户双击以更改树中项目的标签。我把这一行放在最上面:

<ul id="dhtmlgoodies_tree2" class="dhtmlgoodies_tree" ondblclick="change(event)">

对于更改功能,我有:

function change(ev) {

ev.preventDefault();
console.log(ev)
var it = prompt("Channel Name", "");
}

当我查看ev的值时,它是关于鼠标点击事件(位置等)的一切。有什么方法可以获取树的句柄,甚至更好地获取他们单击的 LI?

您可以像这样使用 JQuery 轻松做到这一点:

$("ul li").ondblclick(function(){
   var text = $(this).text()
   console.log(text)
});

希望对你有所帮助。

ev 还有一个 target 属性 正是用户点击的元素。

因此,例如,将 ev.target.textContent = it; 添加到您的函数中会将元素文本更改为用户的答案。