专注于字段在引导箱回调中不起作用
Focus on field doesn't work in a bootbox callback
我有一个字段和一个 "check" 按钮,用于检查该字段是否为空。问题是在弹出窗口中点击 'Ok' 之后(我使用的是 bootbox),它没有聚焦该字段。
我试过
document.getElementById("field").focus();
和
$('#field').focus();
但它不起作用
谢谢
在下面编写脚本:
$(document).on('hidden.bs.modal','.bootbox', function () {
$('#field').focus();
});
插件,点击"ok"后,修改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');
});
另一种方法是使用 setTimeout
。我做到了,但由于某种原因没有奏效,但现在可以了!天知道为什么!
callback: function () {
setTimeout(function () {
console.log("F");
$("#field").focus();
}, 150);
}
Fiddle: http://jsfiddle.net/praveenscience/Lcv4c5ab/1/
我有一个字段和一个 "check" 按钮,用于检查该字段是否为空。问题是在弹出窗口中点击 'Ok' 之后(我使用的是 bootbox),它没有聚焦该字段。
我试过
document.getElementById("field").focus();
和
$('#field').focus();
但它不起作用
谢谢
在下面编写脚本:
$(document).on('hidden.bs.modal','.bootbox', function () {
$('#field').focus();
});
插件,点击"ok"后,修改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');
});
另一种方法是使用 setTimeout
。我做到了,但由于某种原因没有奏效,但现在可以了!天知道为什么!
callback: function () {
setTimeout(function () {
console.log("F");
$("#field").focus();
}, 150);
}