2017-03-04 54 views
0

在手機上使用Angular 2(離子2),我有一個錯誤,我找不到任何類似的問題,所以我需要你的幫助。離子2 /角2:穿越點擊觸發2事件:在按鈕和它後面的元素

我有一個textarea和上面的輸入,當我點擊輸入時,鍵盤出現在上面的絕對塊。在這個塊中有一個「關閉」按鈕,當我點擊它時,它會觸發hide()方法來編程關閉鍵盤,這很好,但之後,鍵盤會出現焦點在textarea中。 (「關閉」按鈕位於textarea上方)。

它似乎像點擊關閉按鈕正在通過它,並點擊textarea。

enter image description here

在圖像它的紅色按鈕。當我點擊它,鍵盤關閉和後面的textarea是焦點,有誰知道爲什麼?

謝謝。

編輯:

關閉按鈕的代碼:

public hide(){ 
     Keyboard.close(); 
    } 

HTML中的塊:

<ion-grid class="keyboard-accessory"> 
    <ion-row> 
     <ion-col width-80> 
     <button ion-button tappable clear class="cancel" (tap)="hide()"> <ion-icon ios="ios-close" md="md-close"></ion-icon></button> 
     <input id="keyboardInput" #keyboardInput [(ngModel)]="text" (ngModelChange)="changeInputValue()" type="text"/> 
     <p id="keyboardTitle"></p> 
     </ion-col> 
     <ion-col width-20> 
     <button ion-button clear class="accept" (click)="validate()">Validate</button> 
     </ion-col> 
    </ion-row> 
    </ion-grid> 

我忘了說,該塊是離子頁腳內部,並且textarea中的離子含量,所以沒有冒泡的效果。 使用stopPropagation或preventDefault不起作用。

+0

你可以添加關閉按鈕的代碼以及html –

+0

你試過停止傳播嗎? –

+0

是的,我試過了,但正如我所說,這不是一個冒泡的效果,他們不在同一個DOM樹,所以它不起作用 –

回答

1

您可以使用css減小文本區域的大小,或使用 「npm install ionic2 autosize」對其進行自動調整大小。

+0

這可能是解決方案,但我仍然不明白爲什麼1點擊激活2事件 –