dr.*_*Xis 6 javascript jquery jquery-plugins
我正在使用虚拟键盘.我有一个控制是否显示虚拟键盘的复选框.问题是我不明白如何禁用它.我尝试解除它但它不起作用......
我还试图使用命名空间然后取消绑定所有命名空间,但是在单击文本框后仍然可以访问键盘.
<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>
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
这就是你所需要的
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();
}
);
Run Code Online (Sandbox Code Playgroud)
我更新了它的维基,并且还指出它指向使用相同解决方案的布局演示。
来自他们的文档:
Keyboard 是键盘数据对象,您也可以使用 $('#keyboard').getkeyboard() 访问它
使用键盘.destroy()
- 此函数完全从输入中删除键盘和事件。
- 如果您打算在使用相同输入时更改键盘布局,则需要此功能。请参阅布局演示。
归档时间: |
|
查看次数: |
2571 次 |
最近记录: |