2017-06-26 100 views
0

我需要從所選div觸發一個函數按Enter鍵。我寫了下面的代碼,但它不工作。Angular 2 keyup.enter爲div標記

<div class="data_card" *ngIf="!Add.showEdit" (keyup.enter)="myfunction($event)"> 
<!-- Some content -- > 
</div> 


myfunction($event){ 
     $event.preventDefault(); 
     alert("sadsa"); 
} 

如何從div輸入鍵觸發此功能?

+0

是否有某種該div內輸入元素?它應該如何知道你正在點擊進入該div內? – crash

+0

裏面的div沒有輸入的元素一些數據只顯示在div – user3541485

回答

1

看看這個答案。 How to bind keyboard events to div elements?

使用的tabindex: The tabindex global attribute is an integer indicating if the element can take input focus (is focusable)

+0

我的應用程序開發使用角2.是否有可能做角2東西? – user3541485

+0

是的,我剛剛在我的angular2應用程序中試過它 – kit

+0

如何在角度2中使用此代碼? – user3541485

0

試試這個代碼。這有助於嗎? HTML

<div class="data_card" *ngIf="!Add.showEdit" (keydown)="handleKeyboardEvent($event)"> 

//組件

@HostListener('document:keydown', ['$event']) 
    handleKeyboardEvent(event: KeyboardEvent): void { 
     if (event.keyCode === 13) { 
      **// do your code here** 
     } 
    } 
+0

(keydown)=「handleKeyboardEvent($ event,index)」我需要從html傳遞一些其他參數。但是當我像這樣傳遞價值時,我越來越沒有定義。我怎樣才能傳遞其他參數? – user3541485

+0

你想傳遞什麼?輸入值? –

+0

不,在那裏我正在使用ngfor我需要通過選定的div索引值 – user3541485