2015-03-10 5 views
1

У меня есть эффект зависания (mouseover, mouseout) в маркере. мой код нижеleaflet.js remove hover effect

marker.on('click', function(e) { }); 
marker.on('mouseover', function(e) { marker.openPopup(); }); 
marker.on('mouseout', function(e) { marker.closePopup(); }); 

Я добавил слишком много маркера на моей карте, добавлен эффект парения во всех маркерах. Но я хочу, чтобы некоторые изменения, например, при нажатии на маркер, удаляли эффект мыши из текущего маркера и, если нажать кнопку закрытия в открытом всплывающем окне, добавьте эффект мыши в маркер.

так как я могу это сделать?

ответ

0

Чтобы удалить обработчик событий, вы можете использовать метод off. Существует также once метод, который добавит EventHandler, который будет активироваться только один раз, а затем развязывает себя:

function clickHandler (mouseEvent) { 
    console.log(mouseEvent); 
} 

// Add event 
L.marker([0,0]).on('click', clickHandler); 

// Remove event 
L.marker([0,0]).off('click', clickHandler); 

// Add event which will fire once 
L.marker([0,0]).once('click', clickHandler); 

Ссылка: http://leafletjs.com/reference.html#events