我似乎无法自动将重点放在Bootbox的文本字段上。
这是我的代码: function setCode(myCode){
bootbox.confirm("Enter your PIN: <input id='pin_code' type='password' name='pin_code'></input>",
function(result) {
if(result)
console.log($("#pin_code").val());
});
$("#pin_code").focus();
};
也许关于bootbox代码的事情正在阻碍?
答案 0 :(得分:5)
您可以注册设置焦点的shown
事件处理程序(由@Shiny建议)。但是,从Bootstrap 3和Bootbox v4.x.x开始,显示的事件是命名空间,必须使用完全限定名称shown.bs.modal
来注册事件处理程序。所以代码是:
var box = bootbox.confirm("Enter your PIN: <input id='pin_code' type='password' name='pin_code'></input>",
function(result) {
if(result)
console.log($("#pin_code").val());
});
box.on('shown.bs.modal',function(){
$("#pin_code").focus();
});
尝试按原样设置焦点不起作用,因为在调用bootbox.confirm
后对话框不会立即显示。不可见的元素无法聚焦。
答案 1 :(得分:1)
您可以尝试此代码
var box = bootbox.confirm("Enter your PIN: <input id='pin_code' type='password' name='pin_code'></input>",
function(result) {
if(result)
console.log($("#pin_code").val());
});
box.on('shown',function(){
$("#pin_code").focus();
});
答案 2 :(得分:0)
我知道它已经很旧了,但是请检查一下是否在使用Chrome,是否没有打开开发工具。