2010-02-22 2 views
2

필드 외부에서 Jquery 자동 완성을 트리거하려고합니다.1.2.6에서 스크립팅 된 이벤트를 통해 Jquery를 자동 완성합니다.

정상적인 키 업 keydown 이벤트가 발생하지 않도록 화면 Jquery 키보드를 실행 중입니다.

Jquery 1.2.6으로 인해 Jquery.Event 또는 trigger()를 사용할 수 없습니다.

다른 화면 키보드가 있다는 것을 알고 있지만 테스트 한 다른 모든 키보드에는 '지연'이 있습니다. 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() 시도가 : :)

fieldselection 여기에서 백 스페이스를 지원하는 수정 된 버전은? (여기 문서 : 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을 교체 시도 작동하는 것처럼 보이지만 모든 클릭에 대해 이벤트 및 트리거를 호출하면 너무 느려집니다. –

관련 문제