2010-11-18 24 views
1

我正在使用jQuery Typewatch,但不再維護,我遇到了問題。jQuery Typewatch - 替代或如何創建相同的功能?

我用它來驅動一個Ajax搜索功能。如果用戶輸入搜索詞,例如「bob」,它將按預期執行ajax回調。但是,如果用戶或腳本清除包含搜索詞的文本框,然後再次鍵入「bob」,則不會觸發回調運行。

有沒有解決這個問題,或者替代插件的jQuery Typewatch或一種方式來創建相同的功能(運行回調用戶完成輸入後)?

這是基本的TypeWatch JS。 ajaxSearch是一個標準的jQuery $.ajax函數。

$("#search").typeWatch({ 
    callback: ajaxSearch, 
    wait: 750, 
    highlight: false, 
    captureLength: 2 
}); 

回答

1

啊,這是從typewatch.js自明:

// Fire if text > options.minTextLength AND text != saved txt OR if override AND text > options.minTextLength 
//if ((elTxt.length > options.minTextLength && elTxt.toUpperCase() != timer.text) 
if ((elTxt.length > options.minTextLength) 

我應該先看着那裏。但至少它可能會幫助別人。

0

它看起來像一個相當簡單的插件。我快速瀏覽了代碼,看起來也很簡單。

// Fire if text > options.captureLength AND text != saved txt OR if override AND text > options.captureLength 

這條線引起了我的注意,它正在檢查觸發事件前的最後一個值。您還可以使用簡單的change觸發器和一些自定義邏輯來實現此目的,或者您可以修改該插件以滿足您的需求。