使用jsTree和拖放插件,我试图说明节点的位置何时被更改。
使用<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="Id" DataSourceID="data">
<Fields>
<asp:BoundField DataField="TicketNo2" HeaderText="Ticket No" SortExpression="TicketNo2" />
<asp:BoundField DataField="TicketNo" HeaderText="Ticket Serial" SortExpression="TicketNo" />
</Fields>
</asp:DetailsView>
事件,我向移动的节点添加了一个move_node.jstree
类,这样可以正常工作。但是,如果我移动的节点是已经移动的节点的兄弟节点,则先前移动的项目将剥离其isChanged
类。
有没有办法可以在所有移动的节点上保留isChanged
类?
(移动同一分支上的节点;只有一个拥有isChanged
类的节点)
以下是完整性代码:
isChanged
答案 0 :(得分:1)
为了保持该类,您还需要将其添加到节点的内部jsTree表示中,否则在重新绘制节点时该类将丢失。
.on('move_node.jstree', function (e, data) {
$("#" + data.node.a_attr.id).addClass("isChanged");
if(data.node.a_attr.class) {
if(data.node.a_attr.class.indexOf('isChanged') === -1) {
data.node.a_attr.class += ' isChanged';
}
}
else {
data.node.a_attr.class = 'isChanged';
}
console.log(data.node.a_attr.id);
});