我有一个字段和一个"检查"检查字段是否为空的按钮。问题是在点击“确定”之后在弹出窗口(我使用bootbox)中,它并不专注于该领域。
我试过了
document.getElementById("field").focus();
和
$('#field').focus();
但它不起作用
谢谢
答案 0 :(得分:2)
在下面写下这个脚本:
<强> DEMO HERE 强>
$(document).on('hidden.bs.modal','.bootbox', function () {
$('#field').focus();
});
答案 1 :(得分:2)
插件在点击“确定”后,修改了dom而你失去焦点,所以你只需要一个超时来实现它:jsFiddle。
$("#btnCheck").click(function () {
if ($('#field').val() == "")
{
bootbox.dialog({
message: "empty field",
title: 'my site',
buttons: {
danger: {
label: 'ok',
className: "btn-primary",
callback: function () {
setTimeout(function(){
$('#field').focus();
}, 10);
}
}
}
});
}
else
alert('ok');
});
答案 2 :(得分:1)
另一种方式是,使用setTimeout
。我做到了,但它没有用的原因,但现在它的工作原理!上帝只知道为什么!
callback: function () {
setTimeout(function () {
console.log("F");
$("#field").focus();
}, 150);
}