2016-03-02 74 views
1

我正在使用傳單的項目上工作。我有一個大的地圖,我在瀏覽器div中渲染,並且當用戶點擊某個元素時,我正在渲染一個彈出式div(使用z順序)。暫停傳單事件傳播

問題是,如果你點擊'彈出窗口'並拖動,傳單會拖動底層地圖,就好像該div不存在一樣。這會造成奇怪的行爲,如果我把一個選擇下拉到div中,並且可能禁止在子div中的任何拖放行爲。

如何阻止div發送發生在其邊界內的事件到單張?我試着玩css屬性指針事件,但這似乎沒有做任何事情。查看已發佈的傳單問題似乎也不能說明問題。

回答

2

將事件偵聽器附加到您的自定義彈出窗口上,並運行stopPropagation以及可選的preventDefault

傳單有幾個實用程序和這個速記,例如:

L.DomEvent.on(divElementForMyCustomPopup, 'click mousedown', function(ev){ 
    L.DomEvent.stop(ev); 
}); 
+0

對我的作品'L.DomEvent.disableClickPropagation(元);' –