Javascript 启用/禁用虚拟键盘
我用的是一台电脑。我有一个复选框来控制是否显示虚拟键盘。问题是我不知道如何禁用它。我试图解开它,但它不工作 我还尝试使用名称空间,然后解除所有名称空间的绑定,但单击文本框后键盘仍然可以访问Javascript 启用/禁用虚拟键盘,javascript,jquery,jquery-plugins,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
<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>
$(函数(){
//显示登录
$(“#showLogin”)。在({
单击:函数(){
$(“#loginFormDiv”)。切换(“慢”);
}
});
$(“#cb_showVKey”)。在('click',CheckIsToShowKey');
});
函数CheckIsToShowKey(事件){
//var isCheck=$(“#cb_showVKey”).is(':checked');
//警报(“已检查?”+isCheck);
如果($(“#cb_showVKey”)。是(':checked')){
//如果检查
装订键盘();
}否则{
//未检查
解开键盘();
}
}
函数bindVirtualKeyboards(){
$(“#loginForm”).delegate(“.virtualKeyboardField”、“click.xpto”、bindceyboards);
}
功能解锁键盘(){
$(“#loginForm”).Unelegate(“.virtualKeyboardField”、“click.xpto”、BindKeyboards);
}
键盘的功能(){
//警报(event.currentTarget.id);
//警报(“xpto”);
如果($(“#cb_showVKey”)。是(':checked')){
$(“#登录用户名”).键盘({
布局:“qwerty”,
输入:正确,
真的吗
});
$(“#loginUserPassword”).键盘({
布局:“qwerty”,
输入:正确,
真的吗
});
}
}
$(文档).ready(函数(){
$(“#loginForm”).validate();
装订键盘();
});
有人帮你吗?这正是你需要的
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();
}
);
我更新了它的wiki,还注意到它指向了使用相同解决方案的用户
从他们的:
键盘是键盘数据对象,您也可以使用$('#keyboard')访问它
使用键盘。销毁()
- 此函数完全从输入中删除键盘和事件
- 如果您计划在使用相同输入时更改键盘布局,则需要此功能。见
它起作用了。无论如何我这样做有意义吗?idk,你问我怎么回答