我有一個圖像與關聯的圖像映射(下面),我使用jQuery來檢測當我在圖像映射元素上獲得鼠標懸停。然後我想要做的就是用拉斐爾js在地圖的頂部繪製一些「東西」。使用拉斐爾js與圖像映射和jQuery
<map name="regionMapView" id="regionMapView">
<area id="Carlisle" shape="circle" coords="305,505,10" alt="Carlisle" title="Carlisle" />
</map>
<img id="imgMap" src="MapLarge.gif" width="585" height="1135" border="0" usemap="#regionMapView" />
<script type="text/javascript" src="./Scripts/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="./Scripts/raphael-min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var paper = Raphael(0,0, 585, 1135);
var t = paper.text(200, 200, "Text at 200, 200");
$("#Carlisle").hover(function() { alert('in'); }, function() { alert('out'); });
});
</script>
上面顯示的文字,因爲它應該,但因爲拉斐爾畫布坐落在影像地圖的上方(這是我想在視覺上),但將防止射擊jQuery的事件jQuery將不會觸發事件。如果我改變Raphael使用圖像ID如下;
var paper = Raphael(document.getElementById("imgMap"), 585, 1135);
然後反過來會發生,我會從jQuery獲取事件,但文本不可見。
圖像本身是一個沒有透明度的純色地圖。
這就是我正在建議的。 –
我最終這樣做了,圖像地圖顯然沒有得到很好的支持。 –