2015-11-04 68 views
0

我使用this plugin創建了一個圖像映射。帶有鼠標懸停功能的SVG圖像地圖 - 點擊數據「粘貼」?

當您將鼠標懸停在某個狀態時,它會顯示您懸停的狀態的名稱。但是,如果你點擊一個狀態,我想讓它的數據保持靜態,直到你重新點擊要釋放的狀態。我無法弄清楚如何做到這一點。

這裏是什麼,我至今一codepen: http://codepen.io/anon/pen/rOZeBB

我試圖unbind上點擊,其工作的鼠標懸停,但我無法弄清楚如何重新綁定,當你重新 - 點擊狀態:

$('#map').usmap({ 
    mouseover: function(event, data) { 
     $('#selected-state > span').text(data.name); 
    }, 
    click: function(event, data) { 
     $('#selected-state > span').text(data.name); 
     $('#map path').unbind('mouseover'); 
    } 
    }); 

有沒有辦法同時使用鼠標懸停和點擊功能?

回答

0

儘量只設置一個全局變量:

var selectedMap = null; 
$('#map').usmap({ 
    mouseover: function(event, data) { 
     if (selectedMap == null) { 
      $('#selected-state > span').text(data.name); 
     } 
    }, 
    click: function(event, data) { 
     $('#selected-state > span').text(data.name); 
     selectedMap = data.name; 
    } 
    }); 

要「扯去」它它再次點擊後,使用this

+0

謝謝。我嘗試了這一點,雖然它可以在點擊時保存數據,但在重新單擊狀態以「釋放」後,它不會再次在懸停時重新激活數據更改。看到這裏:http://codepen.io/anon/pen/YyOqee – LBF

+0

試試這個@LBF http://codepen.io/anon/pen/pjObqW – FrankerZ

+0

它的工作原理!感謝您的時間和幫助。 – LBF