我正在使用带弹出窗口的jQuery插件(leaflet.js)。我想在单击关闭按钮时执行一些操作,但由于我不是创建关闭按钮的人,因此我必须使用jQuery.on()
附加处理程序,如下所示:
$(document).on('click', '.leaflet-popup-close-button', function () {
// do stuff
}
这适用于其他事件(例如mouseover
),但因为它是我点击的关闭按钮,该元素在点击它的瞬间消失,我的处理程序没有运行。
如何让我的处理程序也运行(我不想删除已存在的处理程序)?
修改
我无法使用内置的popupclose
事件,因为如果弹出窗口以其他方式关闭,该事件也会触发。
答案 0 :(得分:1)
我对传单不太熟悉,但我认为您需要将closeButton
选项设置为false,使用您自己的关闭按钮编辑弹出窗口的DOM,并为click事件调用进行回调在您想要的任何其他代码之后togglePopup
或closePopup
。
答案 1 :(得分:0)
您将事件处理程序附加到整个文档。这是一种古老的做法。您应该尝试将事件处理程序附加到特定元素。
例如:
$(".leaflet-popup-close-button").on('click', function () {
...
});
答案 2 :(得分:0)
我建议从leaflet.js中侦听一个close事件并使用它来触发你的动作: http://leafletjs.com/reference.html#popup