单击iframe嵌入式地图时启用指针事件

时间:2017-03-03 10:25:13

标签: javascript jquery css google-maps iframe

我在iframe标签中有一张地图,效果很好。所有我想要的是当点击框架时,指针事件再次启用并进行交互(缩放,点击标记等)

<iframe id="map" src="map.html"></iframe>

在我的css文件中,我有以下样式

#map {
        margin-left:0px;
        width:107%;
        pointer-events: none;
    }

指针事件有效,我无法与地图互动。 我想要的是当点击地图时指针事件变为“自动”

我试过这个javascript代码但没有任何反应。有什么想法吗?

<script>
   $(document).ready(function() {
      $('#map').css('pointer-events', 'none');

      $('#map').click(function() {
        $(this).css('pointer-events', 'auto');
      });
   });
</script>

提前致谢

1 个答案:

答案 0 :(得分:2)

您无法获得具有“pointer-event:none”的元素的click事件。你应该做的只是在div中添加它。

例如,

<div class="map-wrapper"><iframe id="map"></iframe></div>

然后,将您的脚本称为

    <script>
       $(document).ready(function() {
          $('#map').css('pointer-events', 'none');
          $('.map-wrapper').click(function() {
            $(this).find('#map').css('pointer-events', 'auto'); // just $('#map') also fine
          });
          $('.map-wrapper').mouseleave(function() {
            $(this).find('#map').css('pointer-events', 'none'); // making it not clickable when it's not in focus
          });

       });
    </script>

希望这有帮助!