Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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,是否有任何方法显示带有选定编辑文本的键盘。我使用了focus()。当浏览器准备就绪时,我可以编辑文本。 下面是我的代码 $(document).ready(function() { var allSelects = document.getElementsByTagName("p"); var lastSelect = allSelects[allSelects.length - 1]; lastSelect.focus(); $("#main_containe

是否有任何方法显示带有选定编辑文本的键盘。我使用了
focus()。当浏览器准备就绪时,我可以编辑文本。
下面是我的代码

$(document).ready(function() {
    var allSelects = document.getElementsByTagName("p");
    var lastSelect = allSelects[allSelects.length - 1];
    lastSelect.focus();

    $("#main_container").click(function() {

        lastSelect.focus();

    });
});
但当我在移动设备中加载此站点时,除非触摸,否则不会显示移动键盘

请找出解决办法。 提前感谢

尝试使用:

$(document).ready(function() {
var allSelects = document.getElementsByTagName("p");
var lastSelect = allSelects[allSelects.length - 1];
lastSelect.focus();
lastSelect.select();

$("#main_container").click(function() {

    lastSelect.focus();

});

}))

如果您使用iOS/Safari作为移动设备,它不允许设置焦点,除非是为了响应用户输入事件(即触摸)

我认为这是mobile Safari的一个特点,而不是一个bug。在我们 在FastClick上工作时,我的同事和我发现iOS只允许 如有必要,从函数内触发其他元素的焦点 调用堆栈中的第一个函数由 非编程事件。在您的情况下,调用setTimeout会启动 新的调用堆栈和安全机制将阻止您 从设置焦点到输入


请参见

我试图用您的代码创建一个可用的代码段。我对语法做了一些修改,使用了
.on()
.trigger()
方法

也许您可以将
.trigger()
方法与
touchstart
结合使用,以实现您想要的:

$(文档).ready(函数(){
var allSelects=document.getElementsByTagName(“p”);
var lastSelect=allSelects[allSelects.length-1];
$(“#主容器”)。在('click',function()上{
lastSelect.focus();
$(lastSelect.trigger('touchstart');
});
$(“#主容器”).trigger('click');
});

某些文本

某些文本

某些文本


我仍在工作,请在网页上使用chrome或Firefox,你是说你的
标签具有
contenteditable
属性?是的,它是contenteditable它给出一个lastSelect。select不是一个函数错误,我给你50分奖金,以引起你的注意,并向上投票