$(document).ready(function() {
$(".cl").on("click", function() {
$(".inpt").delay(5000).focus();
});
});
.cl {
background: #009;
width: 300px;
height: 100px;
line-height: 100px;
color: #fff;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="inpt">
<div class="cl">click me</div>
上面的代码存在的问题是
delay()
在focus()
上不起作用。 最佳答案
文档指出delay
仅适用于动画(除非您设置队列),您可能只想使用setTimeout即可
$(document).ready(function() {
$(".cl").on("click", function() {
setTimeout(function() {
$(".inpt").focus();
}, 5000);
});
});
为了完整起见,请在队列中使用
delay
$('.inpt').delay(5000).queue(function (next) {
$(this).focus();
next();
});
关于javascript - 延迟()不适用于焦点(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43204439/