簡體   English   中英

event.target無法識別angular2

[英]event.target not recognized angular2

我有一個功能

transferDataSuccess(event, cat,label ,e ){
    var target = e.target || e.srcElement || e.currentTarget;
    this.handler.emit( {e:event, cat:cat , labelCS:event.dragData.labelCS} );    
    this.unhighlightElement( event , e );

}

它通過綁定到元素

(onDropSuccess)="transferDataSuccess($event, node.id , node.label , $event)"

但是它總是導致錯誤

TypeError: Cannot read property 'nodeName' of undefined

它無法訪問event.target,angular2是否具有event.target或simmiliar方法? 如果沒有,我的代碼有什么問題? 為什么找不到event.target?

//取消突出顯示功能

  unhighlightElement( e , x ){
    e=e||window.event;
    var el =   x || e.target;
    //alert(el.nodeName)
    while( el.nodeName != 'DIV'){
        el = el.parentNode;
    }

    el.style.border="";

    e.stopPropagation();
    e.preventDefault();     
  }

我想應該是:

(onDropSuccess)="transferDataSuccess($event, node.id, node.label)"

您的函數將如下所示:

transferDataSuccess(event, cat, label){
  this.handler.emit({ e:event, cat:cat, labelCS: event.dragData.labelCS });    
  this.unhighlightElement(event.mouseEvent);
}

unhighlightElement(e){
  var el = e.target;
  //alert(el.nodeName)
  while( el.nodeName != 'DIV'){
    el = el.parentNode;
  }

  el.style.border="";

  e.stopPropagation();
  e.preventDefault();     
}

看到這一行: https : //github.com/akserg/ng2-dnd/blob/09296dc1c0a5d7b04ae742d60f49c57398b4e375/src/dnd.droppable.ts#L82

柱塞示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM