2010-02-22 82 views
2

我試圖從外部觸發Jquery自動完成。通過腳本事件觸發Jquery自動完成1.2.6

我正在運行屏幕上的Jquery鍵盤,所以沒有觸發正常的keyup keydown事件。

我無法使用Jquery.Event或trigger(),因爲我被Jquery 1.2.6卡住了。

我知道還有其他的屏幕鍵盤,但我測試過的其他所有鍵盤都有'滯後'。 fieldselection增加了一點,但這是相當快的。只是..沒有自動完成射擊。

我不是在滾動我自己的自動完成,但其餘的代碼是如此簡單,我只是想確保我不會錯過簡單的東西。 :)

fieldselection是支持從這裏退格修改後的版本:http://designshack.co.uk/tutorialexamples/vkeyboard/

<script type="text/javascript" src="js/jquery.fieldselection.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
// Keeps track of last input that was clicked in. 
    $('input[type="text"], textarea').focus(function() { 
     selectedInput = $(this); 
    }); 
    // Add autocomplete. 
    $('#search-customers-input').autocomplete(
     'js/ps-action.php?searchCustomers=1'); 
    // Attach action to virtual keyboard keys. 
    $('.keypad-literal').click(function() { 
     selectedInput.replaceSelection($(this).text(), true); 
     // I don't chain these as for some reason it doesn't work. 
     selectedInput.focus(); 
     // Can't use as I'm on 1.2.6 
     //var key = $(this).text(); 
     //var e = jQuery.Event("keydown"); 
     //e.which = key.charCodeAt(0); 
     //selectedInput.trigger(\'focus\').trigger(e); 
    }); 
}); 
</script> 
<button type=button class="keypad-key keypad-literal">q</button> 
<button type=button class="keypad-key keypad-literal">w</button> 
<button type=button class="keypad-key keypad-literal">e</button> 
... etc ... 
<button type=button class="keypad-key large" 
    onClick='selectedInput.parents("form").submit();'>Enter</button> 

回答

0

有嘗試jQuery.noConflict()? (文檔瀏覽:http://api.jquery.com/jQuery.noConflict/

<script type='text/javascript' src='jquery-1.4.2.min.js'></script> 
<script type='text/javascript'> 
    // create namespace for jquery 1.4.2 
    var j142 = $.noConflict(true); 
</script> 
<script type='text/javascript' src='jquery-1.2.6.min.js'></script> 

<script type='text/javascript'> 
    // jquery 1.4.2 codes here 
    j142(document).ready(function() { 
     j142('p#new').text('jquery 1.4.2 yay!'); 
     }); 

    // jquery 1.2.6 codes here, falling back to the default $ 
    $(document).ready(function() { 
     $('p#old').text('jquery 1.2.6 yay!'); 
     }); 
</script> 
+0

號我沒有意識到這一點..但是..我真的試圖用1.4.2(這是我不能在生產做),一切更換1.2.6似乎工作,但調用每次點擊事件和觸發器真的放慢了速度。 – 2010-02-22 15:45:34