使用javascript onClick显示Bootstrap Modal

时间:2013-11-21 02:19:11

标签: javascript jquery twitter-bootstrap modal-dialog

我需要能够使用onClick=""或类似功能打开Twitter引导模式窗口。只需要代码进入onClick=""。我正在尝试点击div来打开模态。

代码摘录:

Div Code:

<div class="span4 proj-div" onClick="open('GSCCModal');">

模态区号:

<div id="GSCCModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

使用Javascript:

function open(x){
    $(x).modal('show');
}

4 个答案:

答案 0 :(得分:37)

您不需要onclick。假设您正在使用Bootstrap 3 Bootstrap 3 Documentation

<div class="span4 proj-div" data-toggle="modal" data-target="#GSCCModal">Clickable content, graphics, whatever</div>

<div id="GSCCModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;  </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

如果你使用的是Bootstrap 2,你可以点击这里的标记: http://getbootstrap.com/2.3.2/javascript.html#modals

答案 1 :(得分:12)

我正在寻找onClick选项,根据列表中的项目设置模态的标题和正文。 T145的回答很有帮助,所以我想分享一下我如何使用它。

确保包含JavaScript函数的标记是text / javascript类型以避免冲突:

<script type="text/javascript"> function showMyModalSetTitle(myTitle, myBodyHtml) {

   /*
    * '#myModayTitle' and '#myModalBody' refer to the 'id' of the HTML tags in
    * the modal HTML code that hold the title and body respectively. These id's
    * can be named anything, just make sure they are added as necessary.
    *
    */

   $('#myModalTitle').html(myTitle);
   $('#myModalBody').html(myBodyHtml);

   $('#myModal').modal('show');
}</script>

现在可以在onClick方法中从一个元素(如按钮)中调用此函数:

<button type="button" onClick="javascript:showMyModalSetTitle('Some Title', 'Some body txt')"> Click Me! </button>

答案 2 :(得分:0)

首先必须创建一个包含您想要完成的内容的JavaScript函数:

function print() { console.log("Hello World!") }

然后必须在元素内部的onClick方法中调用该函数:

<a onClick="print()"> ... </a>

您可以直接从此处的Bootstrap 3文档中了解有关模态交互的更多信息: http://getbootstrap.com/javascript/#modals

您的模态绑定也不正确。它应该是这样的,其中“myModal”=元素的ID:

$('#myModal').modal(options)

换句话说,如果你真的想保留已有的东西,可以在GSCCModal前加一个“#”,看看是否有用。

将onClick绑定到div元素也不是很明智;像按钮之类的东西会更合适。

希望这有帮助!

答案 3 :(得分:0)

我遇到了同样的问题,经过大量的研究,我终于建立了一个js函数来根据我的要求动态创建模态。使用此功能,您可以在一行中创建弹出窗口,例如:

puyModal({title:'Test Title',heading:'Heading',message:'This is sample message.'})

或者您可以使用其他复杂功能,例如iframe,视频弹出窗口等。

https://github.com/aybhalala/puymodals上找到它。有关演示,请转到http://pateladitya.com/puymodals/