Javascript 引导模式-当“启动”时关闭模式;“行动呼吁”;按钮被点击

Javascript 引导模式-当“启动”时关闭模式;“行动呼吁”;按钮被点击,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,我的模式中有一个外部链接,我希望在用户单击链接后隐藏该模式。我该怎么做 这是我的密码: <div class="modal hide fade" id="modalwindow"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal&

我的模式中有一个外部链接,我希望在用户单击链接后隐藏该模式。我该怎么做

这是我的密码:

<div class="modal hide fade" id="modalwindow">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Title</h3>
  </div>
  <div class="modal-body">
    <p>You need to do a search on google.com for that.</p>
  </div>
  <div class="modal-footer">
    <a id="closemodal" href="https://www.google.com" class="btn btn-primary" target="_blank">Launch google.com</a>
  </div>
</div>

<script type="text/javascript">
    $('#closemodal').modal('hide');
</script>

&时代;
标题
你需要在google.com上搜索一下

$('#closemodal').modal('hide');
您需要将模态隐藏调用绑定到
onclick
事件

假设您使用的是jQuery,则可以通过以下方式实现:

$('#closemodal').click(function() {
    $('#modalwindow').modal('hide');
});
还要确保在文档加载完成后绑定了click事件:

$(function() {
   // Place the above code inside this block
});
enter code here

删除脚本并更改HTML:

<a id="closemodal" href="https://www.google.com" class="btn btn-primary close" data-dismiss="modal" target="_blank">Launch google.com</a>

编辑:请注意,目前这将不起作用,因为此功能在引导中尚不存在

使用
data dismission=“modal”
。在Bootstrap版本中,我使用的是v3.3.5,当将
data dismise=“modal”
添加到所需的按钮时,如下图所示,它漂亮地调用了我的外部Javascript(JQuery)函数,并神奇地关闭了模式。这太好了,我担心我将不得不调用另一个函数中的一些模态隐藏,并将其链接到真正的工作函数

 <a href="#" id="btnReleaseAll" class="btn btn-primary btn-default btn-small margin-right pull-right" data-dismiss="modal">Yes</a>
制作如图所示

$(文档).ready(函数(){
$('myModal').modal('show');
$('myBtn')。在('click',function()上{
$('myModal').modal('show');
});
});

引导示例 使用JavaScript激活模态 开放模态 &时代; 模态头 模态中的一些文本


我尝试在加载引导CSS的情况下关闭模式窗口。close()方法并不真正关闭模式窗口。因此,我将显示样式添加到“无”

HTML代码在对话框窗口中包含一个按钮

<input type="submit" value="Confirm" onclick="closeDialog()"/>


modal
附加到jQuery对象,因此需要调用
$('.modal').modal()
指向正确。修理。虽然我得说库马尔的回答要优雅得多。是的!非常感谢。需要更改$('#closemodal').modal('hide');到$('#modalwindow').modal('hide');这是jquery而不是普通的javascript?@webNoob13很好,是的,这是jquery的解决方案。回到回答这个问题的那一天,jQuery在引导程序中非常流行,以至于有点假设您会一直使用它。我将更新答案以更明确地说明这一点。是的,这会关闭模式,但新的目标链接不会打开。如果是外部链接,那么模式是否关闭当然无关紧要,因为页面将重新加载?目标为“_blank”,新窗口打开,带有模式的“旧”窗口保持不变。这不起作用。模式内使用data dismission=“modal”的链接不会转到其目标。它不太旧。首先,当时的答案是错误的,现在也是错误的。我投了反对票,因为你的答案根本不起作用,但是那些从谷歌过来的人可能会看到并尝试它,浪费他们的时间。正如我在其他评论中所说的那样。“使用data dismission=“modal”的模式内的链接不会转到它们的目的地。”转到该链接以查看这是一个已知问题。正确答案是公认的答案。
    function closeDialog() {
        let d = document.getElementById('d')
        d.style.display = "none"
        d.close()
    }
<input type="submit" value="Confirm" onclick="closeDialog()"/>