2012-05-22 172 views
0

自動完成事件(如搜索/選擇)觸發鍵盤按鍵,如'Home','End','Shift'。Jquery自動完成:如何防止事件被觸發

我看到這些沒有燒製的例子在演示現場 例:http://jqueryui.com/demos/autocomplete/remote.html

請讓我知道如何阻止某些鍵盤事件的搜索/選擇的事件。

我認爲這是默認行爲,但它不適用於我的情況。

+0

您使用的是什麼代碼?給我們一個工作的例子不會讓我們看到問題; P –

回答

0

我不確定爲什麼這些事件會爲您解決,但不在演示中,也許檢查您的jQuery UI版本?

爲了阻止某些鍵的這些事件,您可以返回false。

$(".selector").autocomplete({ 
    search: function(event, ui) { 
    if(event.keyCode === 36) { 
     // HOME key pressed 
     return false; 
    } 
    } 
}); 

見「事件」選項卡here更多信息

0

您可以保存最後的文字變成var和火災時,您的活動檢查,如果文本已經改變。

$(".selector").autocomplete({ 
    search: function(event, ui) { 
     if($('.selector').val() === lastText) { 
      return false; 
     } 
     // do what do you want 

     lastText = $('.selector').val(); 
    } 
}); 
0

你可以試試這個;

$("#selectorid").autocomplete({ 
    search: function(event, ui) { 
     $.lastText = $('#selectorid').val(); 
    } 
}); 


$('#selectorid').keypress(function (e) { 
if ($(this).val() == $.lastText) return; 
}); 
相關問題