javascript - 单击 iframe 嵌入 map 时启用指针事件

标签 javascript jquery css google-maps iframe

我在 iframe 标记中有一个 map ,并且工作得很好。我想要的只是当单击框架时,指针事件再次启用并交互(缩放、单击标记等)

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

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

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

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

我已经尝试过这段 JavaScript 代码,但没有任何反应。有什么想法吗?

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

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

提前致谢

最佳答案

您无法获取具有“pointer-event:none”的元素的单击事件。你应该做的就是将其添加到 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>

希望这有帮助!

关于javascript - 单击 iframe 嵌入 map 时启用指针事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42576360/

相关文章:

即使使用 event.stopPropogation、event.preventDefault 和 return false,jQuery 也无法在返回键上停止表单提交

javascript - 从数组中随机选择唯一项目并添加到新数组的问题

css - 表单中的下拉按钮

javascript - 一个 div 正在扩展页面的宽度

javascript - AngularJS 嵌套组件和作用域

javascript - 我如何计算相邻的图 block 以生成 2D 图 block map 阵列的边和 Angular ?

jQuery fullcalendar - 如何减小日历的大小

html - 我怎样才能使这项工作?

html - 图像溢出边界

javascript - 弹出窗口关闭时刷新特定页面(jQuery)