Javascript popover中的表单不起作用

Javascript popover中的表单不起作用,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我正在使用bootstrap,我想在popover中创建一个表单。我已经这样做了,但我不能在表单的文本字段中键入。有人知道为什么吗 *更新它在模式中。在模态外部它工作,但在内部它不工作 *更新2我想差不多了。当我打开modal和popover时,我无法键入文本字段。关闭模式后,popover仍处于打开状态,然后我可以键入文本字段。因此,文本字段和弹出窗口之间必须有一些z索引。真的很邋遢,但我尝试了输入{z-index:9999;}但没有成功 <a href="#" class="add_n

我正在使用bootstrap,我想在popover中创建一个表单。我已经这样做了,但我不能在表单的文本字段中键入。有人知道为什么吗

*更新它在模式中。在模态外部它工作,但在内部它不工作

*更新2我想差不多了。当我打开modal和popover时,我无法键入文本字段。关闭模式后,popover仍处于打开状态,然后我可以键入文本字段。因此,文本字段和弹出窗口之间必须有一些z索引。真的很邋遢,但我尝试了
输入{z-index:9999;}
但没有成功

<a href="#" class="add_nr" data-nummer-id="nr_1" rel="popover">


<div id="add_number" class="popover">
    <div class="addnr" id="nr_1">
        <form class="form-inline">
            <div class="controls">
                <input type="text" placeholder="Artist">
            </div>
            <div class="controls">
                <input type="text" placeholder="Number">
            </div>
            <a href="#">cancel</a>
            <button type="submit" class="btn">add number</button>
        </form>
    </div>
</div>




$(function(){
        $('.add_nr').on('click', function(event){
            var $this = $(this);
            event.preventDefault();
            $('.add_nr').not($this).popover('hide');
            $this.popover('show');

        }).popover({
            trigger: 'manual',
            placement: 'bottom',
            content: function(e) {
                var $this = $(this),
                nr_id = $this.data('nummer-id');
                return $('#' + nr_id + '.addnr').html();
            }
        })
    });

加号
$(函数(){
$('.add_n')。在('click',函数(事件){
var$this=$(this);
event.preventDefault();
$('.add_nr')。不($this.popover('hide');
$this.popover('show');
})波弗先生({
触发器:“手动”,
位置:'底部',
内容:职能(e){
变量$this=$(this),
nr_id=$this.data('numer-id');
返回$(“#”+nr_id+”.addnr').html();
}
})
});

启动模式时,它会将焦点保持在自身上,防止表单中的元素获得焦点。一个简单的解决方法是在模式启动时禁用侦听器:

$('body').on('shown','.modal', function() {
  $(document).off('focusin.modal')
});

对于出现此问题的任何人(具有不工作模态的窗体的弹出窗口)以及使用Bootstrap 4的人,您可以通过在打开模态的按钮/控制器上使用
data modal=“false”
来解决此问题。例如:

<button type="button" class="btn" data-toggle="modal" data-target="#new" data-focus="false">


如果使用JS打开模态,可以传入
focus
选项。选项上的完整文档

我猜您的CSS存在一个问题,其中某些元素重叠,因此阻塞了输入。您的问题中没有足够的信息,您需要提供更多信息。请给出类popover、addnr和forminline的代码。你在css类中添加的样式中一定有一些冲突。哦,我忘了提到它在模态中。如果我把它放在模态外,它就可以工作,但在它里面却不行。我检查了所有的CSS,找不到
form,input
和模态类之间的任何交互,所以我想它一定来自JS。在bootstrap-modal.js中快速搜索“.on”,找到了
focusin.modal
侦听器,果然找到了。