我有一个基本的测试页面:
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous">></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-2">
<p>Test</p>
<form name="scan">
Field 1
<br>
<input type="text" name="first" id="first">
<br>
Field 2
<br>
<input type="text" name="second">
<br>
Field 3
<br>
<input type="text" name="third">
<br>
<br>
<input type="submit" name="submit">
</form>
</div>
<script>
$( document ).ready(function() {
$("input:text:visible:first").focus();
});
</script>
</body>
</html>
它在所有 Windows 浏览器中按预期工作。
Jquery代码在加载到具有最新iOS的iPhone上的Safari或Chrome时不起作用。
我也试过:
document.getElementById("first").focus();
我还在命令周围放置了一些警报,警报有效,但重点没有发生在第一个字段中。
我哪里出错了?
谢谢
眼界
你有这个代码
$("input:text:visible:first").focus();
您想focus
第一个文本input
。你可以这样做:
$("input[type=text]:first").focus();
在方括号内,您的选择器指定type
属性的值,我们使用:first
presudo-selector。