对于那些可能花费数小时试图理解为什么他们没有从select回调获得相同行为的人,无论是由select事件还是select方法触发的。
我无法理解为什么当我手动选择一个项目时这是完美的工作,而如果我使用该方法则没有反应。我试图在小部件本身触发事件,因为它似乎根本没有被触发。
select: function(e){
var item = e.node;
appui.f.post("admin/object_editor/obj/" +
( typeof(item.class) !== "undefined" ? "object" : "field" ) +
"/" + item.id + "/" + item.uid, {partial:1}, $("#object_cfg_container"));
}
答案 0 :(得分:0)
该函数已被触发,但在使用select方法时会从第一行返回错误。
实际上发生的事情是事件作为函数的参数发送,在其中您可以找到node属性,它是新选择的对象。
但是,当您使用select方法时,event参数不再具有node属性。
所以也许你发现没有参数的select()方法会返回所选的元素。
但是出现了一个新问题,此功能将在活动期间启动时返回旧选定项目,而如果它作为方法启动,它将返回新选择的项目...
我的解决方案:
select: function(e){
var item = e.node ? e.node : this.select(),
data = this.dataItem(item);
....
}