2015-10-08 61 views
0

我已經繼承了一個項目,它需要一些修改,但我不能解決所有已經完成的任務。Jquery裏面打開的模態

基本上它是一個分成地區的地圖。當您將鼠標懸停在區域上時,該區域會改變顏色並彈出工具提示。

現在很好。但我也想添加點擊功能,但對於我的生活,我無法弄清楚如何。大部分數據似乎被存儲在一個JS文件:

jQuery(function($) { 
     $(function() { 
      debugger; 
      $("#unmaskUKMap").mapael({ 
        map: { 
        // Set the name of the map to display 
        name: "uk_new", 
        defaultArea: { 
         attrs: { 
         stroke: "#fff", 
         "stroke-width": 1, 
         "fill": "#D0D0D0" 
         }, 
         attrsHover: { 
         "stroke-width": 2, 
         "fill": "#0065AE" 
         } 
        } 
        }, 
        areas: { 
        "wales": { 
         href: "#", 
         tooltip: { 
         content: "<h3>Wales</h3>" + 
          "Number of insolvencies" + 
          "<ul>" + 
          "<li><span class='quarter'>Q1 2014: </span><span>134</span></li>" + 
          "<li><span class='quarter'>Q1 2015: </span><span>137</span></li>" + 
          "</ul>" + 
          "<ul>" + 
          "High Risk Sectors" + 
          "<li>Services</li>" + 
          "<li>Construction</li>" + 
          "<li>Retail</li>" + 
          "</ul>" 
         } 
        }, 

所以你可以看到你的鼠標在工具提示彈出,它的顏色區域。

我想要做什麼,莫名其妙地能夠觸發模式打開點擊。

通常我會用:

<a href="#myModalBigDataSearching" role="button" data-toggle="modal"</a> 

雖然在這種情況下,我並不需要一個按鈕,所以我想我刪除角色的一部分。

我不能將它添加到任何區域,因爲它打破了其餘的代碼,我找不到如何將它添加到href:部分,如果這甚至可能?

回答

0

看起來像你使用jQuery Mapael插件來處理你的地圖。我從他們的文檔中得到了這段代碼片段;它添加了一些函數來處理地圖中的事件(例如按照示例中的「點擊」)。您應該在attrsHover: { ...... },部分之後將其添加到您的代碼中。

希望這會有所幫助。

eventHandlers: { 
    click: function (e, id, mapElem, textElem) { 
     // YOUR CODE HERE 
    } 
}, 
+0

非常感謝。但顯然有多個地區。我怎樣才能打開一個不同的模式,取決於點擊的區域? – user3105661

+0

點擊事件處理程序向您傳遞對象'mapElem',這是對被點擊的特定區域的引用。欲瞭解更多信息,請看看這個:http://jsfiddle.net/neveldo/qGwWr/ –

+0

非常感謝您的幫助 – user3105661