javascript - 为什么用户必须在事件(如焦点等)工作之前点击我的应用程序内部?

标签 javascript android html kik

我一直在使用 Android 版 Kik 网络应用程序。我注意到某些事件在用户与页面交互之前无法正确触发。

该问题在 Kik 中显现出来,但在我运行 Android 4.4/KitKat 的 Galaxy S5 上的内置网络浏览器中也出现了。

HTML

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>  
click here: <button id="button">a button</button>
<br><br><br>
textbox: <input type="text" id="textbox">

CSS

* {
    font-size: 20px;
}

JavaScript

window.onload=function(e) {
    // set function to button.click
    $('#button').click(function() {
        fucus();
    });

    // run the exact same function rightey-right now
    $('#textbox').focus();

    // run it again in three minutes
    $('#textbox').focus()
};


function fucus() {
    $('#textbox').focus();
}

最佳答案

大多数移动浏览器不允许 .focus() 按预期运行,除非从用户交互事件调用。例如,如果您在 onclick 事件中调用它,它将起作用,但如果在 onload 中调用它,则它将不起作用。这并非特定于 Kik,而是一般的移动浏览器。

关于javascript - 为什么用户必须在事件(如焦点等)工作之前点击我的应用程序内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825115/

相关文章:

javascript - 如何在 php 中显示双引号 ""?

java - Android 按钮导航与 onclick 监听器

java - 如何展平2个不同的图像层?

jquery - 在表格中叠加行菜单

javascript - 如何在每个子元素周围正确添加一个元素(之前和之后)

javascript - 如何创建具有 100% 宽度和高度的 Google 图表?

javascript - 使用 jquery,如何根据 TR 属性对表中的行重新排序?

android - 如何在服务中使用 strings.xml 文件?

HTML/CSS div 定位

html - jinja 中 set 和 with 有什么区别