2010-02-22 50 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