map.on('click')是否干扰了Bootstrap模态?

时间:2016-01-31 19:43:32

标签: javascript ruby-on-rails twitter-bootstrap mapbox

设置:Rails 4 + Bootstrap。所以我在一个mapbox.com地图中嵌入了一个bootstrap模式,用于显示数据标记。

我有以下javascript代码,其中console.log正在运行(latlng正在记录到控制台),但Bootstrap模式显示事件没有打开窗口。关于可能出错的任何想法?

application.js(资产管道)

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree .

mymap.js

map.on('click', function(e) {
  console.log(e.latlng.toString());
  $('#mymodal').modal('show');
  var marker = new L.marker(e.latlng).addTo(map);
});

index.html.erb

<div class="row">
  <div class="col-md-1" id="map"></div>
</div>

<div id="#mymodal" class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Confirm</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

1 个答案:

答案 0 :(得分:1)

您已将模式ID设为#mymodal,将其更改为mymodal即可。 jQuery选择器$('#mymodal')将开始在DOM中使用ID mymodal而非#mymodal的元素进行搜索。选择器中的括号仅用于定义您正在搜索ID。

参考:https://api.jquery.com/id-selector/