亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 div 標簽包含到輸入的焦點中

將 div 標簽包含到輸入的焦點中

動漫人物 2023-11-13 14:47:55
所以我有一個輸入,下面有一個下拉菜單。因此,當我單擊輸入時,下拉菜單將打開。但我無法從下拉列表中選擇任何內容,因為它沒有聚焦。因此,當我單擊一個值時,它不會被選中,并且下拉列表會再次關閉,因為它失去了焦點。所以我現在想知道如何將 div 包含到輸入的焦點中。HTML 輸入:<input  type="text" class="form-control myInput" [(ngModel)]="textToSort"(keyup)="onKeyDownAction($event)" (blur)="onBlurEventAction()" id="{{id}}" (focus)="focusFunction()" (focusout)="unFocusFunction()"/>HTML div(下拉菜單):<div class="data-container" *ngIf="showDropDown" style="position: absolute;" >  <p   *ngFor="let data of dataList; let i = index"   class="data-list"                                   (click)="updateTextBox(i,data[columnName]); focusOnInput();"   [ngClass]="{highlight:checkHighlight(i)}"  > {{data[columnName]}}</p></div>成分:focusFunction(){    this.showDropDown = true;  }unFocusFunction() {    this.showDropDown = false;  }
查看完整描述

3 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

blurinput由于mousedown列表項,您發生了事件

所以為了防止這種情況你需要添加

(mousedown)="$event.preventDefault()"

您的列表項的處理程序。我創建了簡單的演示:

https://stackblitz.com/edit/angular-x3cdr1


查看完整回答
反對 回復 2023-11-13
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

最簡單的方法如下:


focusFunction(){

   this.showDropDown = true;

}


unFocusFunction() {

  setTimeout(() => { this.showDropDown = false; }, 500);

}

我認為檢查這個 stackblitz 也會有幫助: https://stackblitz.com/edit/angular-search-filter ?file=app%2Fapp.component.ts


查看完整回答
反對 回復 2023-11-13
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您是否在 CSS 中嘗試將下拉類展開時的 z-index 設置為 1?

請分享 plunkr 或 stackblitz 鏈接來查看該場景。


查看完整回答
反對 回復 2023-11-13
  • 3 回答
  • 0 關注
  • 208 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號