2017-03-03 71 views
2

我在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

你不能讓點擊其中有「指針事件:無」的元素的事件。你應該做的只是添加一個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> 

希望這有助於!

+0

謝謝,這非常有幫助!最後,我將'.click'事件更改爲'.mouseenter'事件,然後存儲一個變量,如果我正在基於該元素的'onmousedown'事件與iframe之外的另一個元素進行交互。在'.mouseenter'函數中,我接着說如果iframe之外沒有交互,那麼執行。這可讓您在iframe內拖動,而不必先點擊。 – Booligoosh

+0

哇,現在我想起來了,我可以使用'.onmousedown'。傻我!現在太遲了,改變它是沒有意義的。 – Booligoosh