bootstrap模态框内<input type="text">无法获得焦点怎么办?

发布于 2021-11-29 06:21:26 字数 5200 浏览 392 评论 6

测试结果是模态框的问题,不在模态框内的弹出框的输入框是可以获得焦点的

在模态框内效果图:

去除模态框的效果图:

有模态框的完整代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no,maximum-scale =1,minimum-scale=1">
<title></title>
<link rel="stylesheet" href="css/bootstrap.css" />
<link rel="stylesheet" href="css/jquery.webui-popover.min.css" />
</head>
<style type="text/css">
.form-control{
height: 34px;
font-size: 14px;
}
</style>
<body>
<div class="modal fade" id="inFromUser" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
       <div class="modal-content">

<div class="modal-body">

<div class="input-group">
    <div class="input-group-addon">ico</div>
    <input type="text" class="form-control" id="ShopCode" placeholder="公司职员">
    <span class="input-group-btn">
<a href="#" class="btn btn-default show-pop-table">弹出框</a>
</span>
</div>

<div id="tableContent" style="display:none;">
        <div class="input-group">
    <input type="text" id="seoTxt" class="form-control" placeholder="输入搜索内容" onclick="seoFocus()">
    <span class="input-group-btn">
        <button class="btn btn-default" type="button">Go!</button>
    </span>
   </div><!-- /input-group -->
   <table class="table table-hover">
        <tr>
         <th>编号</th>
         <th>姓名</th>
         <th>性别</th>
         <th>年龄</th>
       </tr>
       <tr>
         <td>01</td>
         <td>name</td>
         <td>男</td>
         <td>21</td>
       </tr>
        </table>
   </div>
   
   
   </div>
</div>
</div>
</div>

</body>
<script type="text/javascript" src="js/jquery.min.js" ></script>
<script type="text/javascript" src="js/bootstrap.js" ></script>
<script type="text/javascript" src="js/jquery.webui-popover.min.js" ></script>
<script type="text/javascript">
$('#inFromUser').modal({
show: true
});

$(function(){
var settings = {
//trigger:'click',
//title:'请选择:',
//content:'<p>This is webui popover demo.</p><p>just enjoy it and have fun !</p>',
//width:320, 
//multi:true, 
//closeable:false,
//style:'',
//delay:300,
//padding:true
};
function initPopover(){ 
var tableContent = $('#tableContent').html(),
tableSettings = {content:tableContent,
width:300
};
$('a.show-pop-table').webuiPopover('destroy').webuiPopover($.extend({},settings,tableSettings));
}
initPopover();
});
</script>
</html>

求大神帮看看如何解决!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

终遇你 2021-12-02 06:32:38

感谢大神救急之恩!!!

带上头具痛哭 2021-12-02 05:57:14

怎么知道插件有没有回调事件,jQ新手还不懂这些。

妖妓 2021-12-02 05:35:25

应该是dom还没渲染就设置事件导致的,找找你使用的webuipopover插件有没有显示后回调事件,在这个中再调用focus事件

眼眸 2021-12-01 17:19:21

$("#seoTxt").focus();并不能让其获得焦点。

是尝试过:

<input type="text" id="seoTxt" class="form-control" placeholder="输入搜索内容" onclick="seoFocus()">

function seoFocus(){

    $("#seoTxt").focus();

}

可惜不行。

最偏执的依靠 2021-11-30 10:48:34
function onYourPopverOpen() {
// step 1: show popver
// step 2: set focus to input:text
$('#seoTxt').focus();
}

情绪失控 2021-11-29 21:11:09

找了很久才定位到问题所在,由于Bootstrap对Modal的窗体外的事件做了处理,而webuiPopover的父级不属于Modal,所以在外部的事件一概都没响应,这才是导致Focus和点击事件都不能响应的原因。

解决办法是在webuiPopover渲染完以后再将将它移动到Modal中去,这样就可以解决了。示例请点击链接查看http://runjs.cn/detail/sguhwwnu

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文