Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理虚拟键盘点击事件的jQuery_Javascript_Jquery - Fatal编程技术网

Javascript 处理虚拟键盘点击事件的jQuery

Javascript 处理虚拟键盘点击事件的jQuery,javascript,jquery,Javascript,Jquery,在本文中,他使用jQuery制作了一个虚拟键盘。我用本教程的基础制作了一个虚拟键盘。但我注意到本教程的键盘有一个问题。当我使用物理键盘向文本区域输入字符,并尝试通过虚拟键盘输入字符后,虚拟键盘不起作用。我必须刷新页面才能正常工作。它工作正常,直到我从物理键盘直接在文本区输入内容 我想使用这个键盘的逻辑来实现一些定制的键盘。但是我上面提到的“bug”阻碍了我的前进。有人能帮我解决那里发生的事吗?多谢各位 将按钮内容添加到文本区域的我的代码: <textarea id='tx'><

在本文中,他使用jQuery制作了一个虚拟键盘。我用本教程的基础制作了一个虚拟键盘。但我注意到本教程的键盘有一个问题。当我使用物理键盘向文本区域输入字符,并尝试通过虚拟键盘输入字符后,虚拟键盘不起作用。我必须刷新页面才能正常工作。它工作正常,直到我从物理键盘直接在文本区输入内容

我想使用这个键盘的逻辑来实现一些定制的键盘。但是我上面提到的“bug”阻碍了我的前进。有人能帮我解决那里发生的事吗?多谢各位

将按钮内容添加到文本区域的我的代码:

<textarea id='tx'></textarea>
<div class='key'>1</div>
<div class='key'>2</div>
<div class='key'>3</div>
只需更改代码

来自此

 // Delete
        if ($this.hasClass('delete')) {
            var html = $write.html();

            $write.html(html.substr(0, html.length - 1));
            return false;
        }
$write.html($write.html() + character);
到此

if ($this.hasClass('delete')) {
            var html = $write.val();

            $write.val(html.substr(0, html.length - 1));
            return false;
        }
$write.val($write.val() + character);
最后 来自此

 // Delete
        if ($this.hasClass('delete')) {
            var html = $write.html();

            $write.html(html.substr(0, html.length - 1));
            return false;
        }
$write.html($write.html() + character);
到此

if ($this.hasClass('delete')) {
            var html = $write.val();

            $write.val(html.substr(0, html.length - 1));
            return false;
        }
$write.val($write.val() + character);
因为您正在更改
val()
而不是
html()
。那个博客也有错误。更正它。

只需更改代码即可

来自此

 // Delete
        if ($this.hasClass('delete')) {
            var html = $write.html();

            $write.html(html.substr(0, html.length - 1));
            return false;
        }
$write.html($write.html() + character);
到此

if ($this.hasClass('delete')) {
            var html = $write.val();

            $write.val(html.substr(0, html.length - 1));
            return false;
        }
$write.val($write.val() + character);
最后 来自此

 // Delete
        if ($this.hasClass('delete')) {
            var html = $write.html();

            $write.html(html.substr(0, html.length - 1));
            return false;
        }
$write.html($write.html() + character);
到此

if ($this.hasClass('delete')) {
            var html = $write.val();

            $write.val(html.substr(0, html.length - 1));
            return false;
        }
$write.val($write.val() + character);

因为您正在更改
val()
而不是
html()
。那个博客也有错误。更正它。

您遇到了什么错误?你能做个小提琴什么的吗?我没有错。在我触摸我的物理键盘后,我的虚拟键盘无法工作。您遇到了什么错误?你能做个小提琴什么的吗?我没有错。在我触摸了我的物理键盘之后,我的虚拟键盘就不工作了。