JointJS链接更改:每次都触发目标

时间:2017-03-27 10:03:37

标签: jointjs

从我到目前为止检查过的情况来看,链接目标永远不会为空,这就是我遇到问题的原因。当我将链接连接到某个点(对象)时,我想触发该事件,我不想在每次移动它时都触发它而不将它连接到任何东西。有什么方法可以覆盖那个改变事件吗?或者在我完成拖动链接后触发更改

this.graph.on('change:target', function(cell) {
  if (cell.isLink()) {
    // Any code here will trigger every time I drag my link
    // There is no way I can add if else here to solve my problem
 }
}); 

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。为了我的目的,我使用了错误的处理程序。我不得不使用图形处理程序,而是使用纸张处理程序。

  

'cell:pointerup' - 在纸张上释放指针时触发

  this.paper.on('cell:pointerup', function(cellView, event) {
    var cell = cellView.model;
    if (cell.isLink()){
      if (cell.get('source').id ==null || cell.get('target').id == null) {
        cell.remove();
      }
    }
  });

答案 1 :(得分:0)

试试这个:

public static void hideKeyboard(Context mContext) {

    try {

        View view = ((Activity) mContext).getWindow().getCurrentFocus();

        if (view != null && view.getWindowToken() != null) {

            IBinder binder = view.getWindowToken();

            InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(binder, 0);

        }

    } catch (NullPointerException e) {

        e.printStackTrace();

    }

}