【发布时间】:2012-02-10 02:24:47
【问题描述】:
我尝试了$('#field').focus(),以及在互联网上找到的任何其他方法。没有任何效果。我有一个简单的 html 可以重现问题。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#field').focus();
});
</script>
</head>
<body>
<input type="text" id="field" name="field"/>
</body>
</html>
请帮忙!
【问题讨论】:
-
没有理由这不应该工作,除非您使用 jQuery Mobile。 jQuery Mobile 改变了你通常期望的 DOM 生命周期。
-
我没有使用 jQuery Mobile,只是简单的 jQuery。请参阅示例。
-
当然可以,我在 Google 的搜索页面上看到,当您按建议上的箭头时。但是他们的js最小化了,我不明白是怎么做到的。
-
您是否尝试过将
#focus()方法调用放在浏览器事件回调中以查看 fi ti 以这种方式工作?我不明白为什么 Android 版本的 WebKit 会以这种方式偏离 chrome 版本......它可能有助于了解它不偏离预期行为的情况,以便了解它的情况。 -
另外,您是否尝试过将调用包装在匿名函数中以在对
document.ready()的调用中执行?例如:$(document).ready(function() { (function() {$('#field').focus();}); });偶尔在匿名函数中包装一个动作以立即执行可以解决随机莫名其妙的 JS 问题。
标签: javascript jquery android browser focus