开发中遇到的,现在用的是鼠标点击事件,形如:tree.setOnClickHandler(
function menuItemClickHandler(id){
getMenuItemData(id);
});问题在于,这个事件只作用于鼠标点击,如果删掉某个节点后,把焦点移动到其他节点去,然后getMenuItemData。
我的上级非得要我找出个选中事件,不论是鼠标点击或者焦点移动都执行这个事件对应的函数,就不用再每次操作后都写一句getMenuItemData勒。另外,他的意思是,不想重复获取该节点对应的数据,因为在getMenuItemData这个函数中要做Ajax,用点击事件,不论你点的是不是不同的节点他都会发一次请求,造成资源浪费。
而他的这些需求都是可以通过其他方法做到的,只是多些两行代码而已。可我的上级非得要我给他找到这个监听焦点的方法,我查了API,没有。难道要自己写吗?
我刚入职,所以上级的话,我怎么能不听呢。
难道要自己写个事件吗?老员工的思维真是特古板。而且,我也算敲了几年代码的人了,即便如此,新来的,还是得乖啊。

解决方案 »

  1.   

    另外,应该把信息都放在前端的,而不是点击一次查一次。
    xmlbuffer.append("<userdata name=\"readCount\">" + readCount+ "</userdata>\r\n");
      

  2.   

    focusItem这个貌似不是个事件,这是个方法事件是要有回调方法的吧。算了这个事我已经说服他了。
    如果把数据放到userdata中传过来会增加http请求的体积,这可能比点一次获取一次更浪费。我用了一个全局变量做标记,如果点击的这个itemId和这个全局变量的id是同一个,就不发请求了,然后再吧这个gtemId赋给全局产量。