【问题标题】:Using <script> within a leaflet marker popup在传单标记弹出窗口中使用 <script>
【发布时间】:2019-05-31 21:16:47
【问题描述】:

这将是一个非常简单的问题。

有没有办法在传单标记弹出窗口中使用&lt;script&gt; .... &lt;/script&gt;?如果没有,有没有办法解决它(即有没有办法保存脚本返回的内容并在标记弹出窗口中实现该返回)?

【问题讨论】:

  • 你想用脚本实现什么?
  • 我正在尝试使用 RateYo 插件显示星级。

标签: javascript popup leaflet script-tag


【解决方案1】:

您可能混合了 2 个操作:加载脚本和调用 rateYo() 函数

加载脚本没什么特别的...

<script src="https://cdnjs.cloudflare.com/ajax/libs/rateYo/2.3.2/jquery.rateyo.min.js"></script>

那么你必须在弹出窗口打开时调用该函数:

var marker = L.marker([51.5, -0.09]).addTo(mymap)
    .bindPopup("I am a popup.<div id=\"rateYo\"></div>");
marker.id = something;

marker.on('popupopen', function (e) {
    // the id of the clicked marker is e.target.id
    // retrieve the rating for this id and use it in the rateYo() call
    $("#rateYo").rateYo({
    rating: 3.6,
    starWidth: "15px"
  });

这里是一个例子:https://plnkr.co/8PZIgd2g4Da6AHhWvC2o

【讨论】:

  • 谢谢,我会试试这个。我能看到的唯一问题(没有做任何测试)是我在地图上有 300 多个标记,我希望每个标记有不同的 RateYo 评级(这比我最初想象的要复杂)。
  • 这个想法是用一个可以在事件回调中检索到的 id 来命名你的标记(看看我更新的答案)。我在这个例子中广泛使用了这种技术:github.com/franceimage/franceimage.github.io(查看 map/explore.js)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多