作爲我爲客戶端編寫的插件的一部分,有一個顯示傳單地圖的簡碼。腳本中加載了靜態腳本& css,我可以通過wp_localize_script將參數傳遞給它。mouseover事件僅適用於創建的最後一張傳單地圖
我需要的是在mouseover事件上添加一個圖層,並在鼠標移除時將其刪除。只要每個頁面只有一張傳單地圖,它就可以工作。但是,如果同一頁面中存在多個地圖,則鼠標事件僅應用於最後的地圖。
這是最小的一塊,因爲我說的作品javascript代碼:
if (typeof map == 'undefined'){
var map = {};
var layer_bg = {};
}
map[id] = L.map(id.toString(10)).setView([51.505, -0.09], 6);
layer_bg[id] = new L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png');
map[id].on('mouseover', function(e) {
console.log(id);
map[id].addLayer(layer_bg[id]); });
map[id].on('mouseout', function(e) {
map[id].removeLayer(layer_bg[id]); });
腳本接收每次調用不同的ID參數,但這些事件僅適用於上次使用的ID。
我沒有想法解決這個問題,但我希望有一個簡單的解決方案,我忽略了。這裏是一個非常簡單的jsfiddle模擬連續2調用上面的腳本:
我知道它一定是非常簡單的!關於示波器的鏈接非常方便。非常感謝你。 –