2012-11-18 40 views
5

Tôi đang sử dụng virtual keyboard. Tôi có một hộp kiểm kiểm soát xem bàn phím ảo có được hiển thị hay không. Vấn đề là tôi không hiểu làm thế nào để vô hiệu hóa nó. Tôi cố gắng để unbind nó, nhưng nó không hoạt động ...Bật/tắt bàn phím ảo

Tôi cũng đã cố gắng sử dụng không gian tên và sau đó unbind tất cả các không gian tên nhưng vẫn bàn phím vẫn có thể truy cập sau khi bấm vào hộp văn bản.

<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> 

Mọi người trợ giúp?

Trả lời

0

Điều đó không những gì bạn cần

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

tôi cập nhật đó là wiki, và cũng lưu ý rằng nó đã được chỉ ra layout demo trong đó sử dụng cùng một giải pháp.

từ họ docs:

bàn phím là bàn phím đối tượng dữ liệu mà bạn cũng có thể truy cập bằng $ ('# bàn phím') getkeyboard()

Sử dụng keyboard.destroy()

.
  • Chức năng này loại bỏ hoàn toàn bàn phím và sự kiện từ đầu vào.
  • Chức năng này là cần thiết nếu bạn định thay đổi bố trí bàn phím khi sử dụng cùng một đầu vào. Xem các liên kết layout demo.
+0

. anyway ... theo cách tôi đã cố gắng làm cho bất kỳ ý nghĩa? –

+0

idk, bạn hỏi làm thế nào để tôi trả lời –

Các vấn đề liên quan