2012-11-18 16 views
5

मैं virtual keyboard का उपयोग कर रहा हूं। मेरे पास एक चेकबॉक्स है जो नियंत्रित करता है कि वर्चुअल कीबोर्ड प्रदर्शित होता है या नहीं। बात यह है कि मुझे समझ में नहीं आता कि इसे कैसे अक्षम किया जाए। मैं इसे अनइंड करने का प्रयास करता हूं लेकिन यह काम नहीं करता है ...वर्चुअल कीबोर्ड सक्षम/अक्षम करें

मैंने नामस्थानों का उपयोग करने और फिर सभी नामस्थानों को अनबिंड करने का भी प्रयास किया लेकिन फिर भी टेक्स्ट बॉक्स पर क्लिक के बाद कीबोर्ड उपलब्ध हो गया।

<input class="virtualKeyboardField ui-keyboard-input ui-widget-content ui-corner-all" data-val="true" data-val-required="The User name field is required." id="loginUserName" name="UserName" type="text" value="" aria-haspopup="true" role="textbox"> 
<script type="text/javascript"> 
    $(function() { 
    //show login 
    $("#showLogin").on({ 
     click: function() { 
     $("#loginFormDiv").toggle("slow"); 
     } 
    }); 
    $("#cb_showVKey").on('click', CheckIsToShowKey); 
    }); 
    function CheckIsToShowKey(event) { 
    //var isCheck = $("#cb_showVKey").is(':checked'); 
    //alert("ischecked? " + isCheck); 
    if ($("#cb_showVKey").is(':checked')) { 
     //if checked 
     BindKeyboards(); 
    } else { 
     //not checked 
     UnBindKeyboards(); 
    } 
    } 
    function bindVirtualKeyboards() { 
    $("#loginForm").delegate(".virtualKeyboardField", "click.xpto", BindKeyboards); 
    } 
    function UnBindKeyboards() { 
    $("#loginForm").undelegate(".virtualKeyboardField", "click.xpto", BindKeyboards); 
    } 
    function BindKeyboards() { 
    // alert(event.currentTarget.id); 
    //alert("xpto"); 
    if ($("#cb_showVKey").is(':checked')) { 
     $("#loginUserName").keyboard({ 
     layout: 'qwerty', 
     lockInput: true, 
     preventPaste: true 
     }); 
     $("#loginUserPassword").keyboard({ 
     layout: 'qwerty', 
     lockInput: true, 
     preventPaste: true 
     }); 
    } 
    } 
    $(document).ready(function() { 
    $("#loginForm").validate(); 
    BindKeyboards(); 
    }); 
</script> 

कोई मददगार लोग?

उत्तर

0

आपको क्या चाहिए

var keys; 
var key_init=function() {keys=$('#keyboard').keyboard().getkeyboard();}; 

key_init(); 
$('#switch_kbd').change(
    function() { 
    if ($(this).attr('checked')==='checked') { key_init(); return;} 
    keys.destroy(); 
    } 
); 

sample

मैं अद्यतन यह विकि है, और यह भी कहा कि यह layout demo जो एक ही समाधान का उपयोग करता की ओर इशारा किया गया था करता है।

उनके docs से

:

कुंजीपटल जो आप भी $ ('# कुंजीपटल') का उपयोग कर उपयोग कर सकते हैं कुंजीपटल डेटा वस्तु है getkeyboard()

उपयोग keyboard.destroy()

  • यह फ़ंक्शन पूरी तरह से कीबोर्ड से इनपुट और ईवेंट को हटा देता है।
  • यदि आप एक ही इनपुट का उपयोग करते समय कीबोर्ड लेआउट को बदलने की योजना बनाते हैं तो यह फ़ंक्शन आवश्यक है। layout demo.
+0

यह काम करता है। वैसे भी ... जिस तरह से मैं कोशिश कर रहा था, क्या कोई समझ है? –

+0

idk, आपने पूछा कि मैंने जवाब कैसे दिया –

संबंधित मुद्दे