簡體   English   中英

用戶輸入文本輸入時的html catch事件

[英]html catch event when user is typing into a text input

我只是想知道當用戶在我的Web應用程序中輸入文本輸入字段時如何捕獲事件。

場景是,我有一個聯系人列表網格。 在表單的頂部,用戶可以鍵入他們試圖找到的聯系人的姓名。 一旦文本輸入中有多個字符,我想開始在系統中搜索包含用戶輸入的字符的聯系人。 因為他們不斷輸入數據變化。

它實際上只是一個簡單的類型提前類型功能(或自動完成),但我想在不同的控件中啟動數據。

一旦輸入失去焦點,我就可以從輸入中獲取文本,但這不適合這種情況。

有任何想法嗎?

謝謝

使用keyup事件在用戶鍵入時捕獲值,並執行搜索該值所做的任何操作:

$('input').on('keyup', function() {
     if (this.value.length > 1) {
          // do search for this.value here
     }
});

另一種選擇是input事件,它可以捕獲任何輸入,鍵,粘貼等。

為什么不使用HTML oninput事件?

<input type="text" oninput="searchContacts()">

我會使用' input '和' propertychange '事件。 它們也可以通過鼠標進行切割和粘貼。

另外,請考慮對您的事件處理程序進行去抖動,以便快速打字員不會受到許多DOM刷新的懲罰。

看看我的嘗試:

你應該在每個.input類之后加上.combo。

.input是一個文本框,.combo是一個div

$(".input").keyup(function(){
    var val = this.value;
    if (val.length > 1) {
        //you search method...
    }
    if (data) $(this).next(".combo").html(data).fadeIn(); else $(this).next(".combo").hide().html("");
});

$(".input").blur(function(){
    $(this).next(".combo").hide();
});

暫無
暫無

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

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