Twitter bootstrap 引导模式对话框show.bs.modal event relatedTarget未定义。我怎样才能得到点击元素?

Twitter bootstrap 引导模式对话框show.bs.modal event relatedTarget未定义。我怎样才能得到点击元素?,twitter-bootstrap,events,dialog,modal-dialog,fuelux,Twitter Bootstrap,Events,Dialog,Modal Dialog,Fuelux,按钮调用模式对话框:单击按钮时,事件被触发,生成的事件引用e.relatedTarget未定义。那么,如何从处理程序中获取调用按钮呢?e似乎不包含对调用按钮的任何引用 <!-- Button trigger modal --> <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> Launch demo modal </button> <

按钮调用模式对话框:单击按钮时,事件被触发,生成的事件引用e.relatedTarget未定义。那么,如何从处理程序中获取调用按钮呢?e似乎不包含对调用按钮的任何引用

<!-- Button trigger modal -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" 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>

参考资料:

请看以下内容

运行show事件时,似乎包含对
e.relatedTarget
的正确引用

$('#myModal').on('show.bs.modal', function (e) {
    var button = e.relatedTarget;
    if (button != null)
    {
        alert("Launch Button ID='" + button.id + "'");
    }
})
请看一看,看看您自己的代码是否偏离了它。(我直接从您提供的中复制了原始引导示例代码片段。)


我希望这有帮助。祝你好运。

我也遇到了同样的问题,浪费了整个晚上来解决它。 我的bootstrap.js版本太旧,而$(event.relatedTarget)不能用于“show.bs.modal”事件。 任何有同样问题的人都应该首先检查他的引导版本。 然后只需坚持官方网站示例:
您将在$(event.relatedTarget)中找到您的引用。

这是一个解决方法。你可以用JS打开模态,然后设置relatedTarget。 您不应错过将按钮作为“modal”方法的第二个参数传递

您将能够传递数据引用(此处为地址目标)

$('.listing_btn')。单击->
$('.modal').modal('show',$(@))
$(“#modal”)。在“show.bs.modal”上,(事件)->
按钮=$(event.relatedTarget)
address\u id=button.data('address-target')

console.log地址\u id
谢谢Geo1004。。我已经在使用JS触发模态上的“show”事件,但是我缺少第二个参数。因此event.relatedTarget未定义

如果其他人使用JS路径(而不是使用数据属性),我会确保您将按钮作为jQuery对象发送-

$( "#myModal" ).modal( "show", $( "#buttonBeingClicked" ) );

你一定是把你的bootply示例拿走了,因为我找不到它。确保按下“启动演示模式”按钮以运行演示代码。示例是否按照问题的目的运行?我的意思是,我从未从与e.relatedTarget相关的警报中得到消息。该对象似乎总是空的。这似乎是Bootstrap v3.2.0的问题,而不是某些更高版本(v3.1.1)的问题。@wes.hysell在BS 3.2.2 GitHub页面上有关于此问题的问题报告吗?试试这个答案,它对我有用:oowww拯救我的生命!!TKS3.3.5和jQuery2.x都适用于我。如何在
.modal({show:true,})中使用它?我相信秀:真实是隐含的。true打开模态,false关闭模态。您是否希望传递其他选项?从3.3.5更新为3.3.7。。。没有工作,我正在使用
.load()
获取模式数据。
$( "#myModal" ).modal( "show", $( "#buttonBeingClicked" ) );
$('#myModal').on('show.bs.modal', function (e) {
   console.log($(e.relatedTarget)); // You will get the element you want! Cheers
})