鍍金池/ 問答/HTML5  PHP  HTML/ on()事件里套著on()事件 總是被遞增

on()事件里套著on()事件 總是被遞增

.on事件里面還有個(gè).on 單擊時(shí)候總是逐次遞增 如何解決

    tree.on("nodeselect", function (e) {
        if (e.isLeaf) {
            var id = e.node.id;
            grid.load({id:id});
            var latLng = new google.maps.LatLng(e.node.lat,e.node.lng);
            tree.on("nodeclick", markerClickText(id,latLng));
 
            var div =map.getDiv();
            map.setZoom(5);//縮放比例
            map.panTo(latLng);
            map.panBy(0, -(div.offsetHeight/4));//原有中心點(diǎn)向下偏移
            
        } else {
            grid.setData([]);
            grid.setTotalCount(0);
        }
    });

clipboard.png

回答
編輯回答
貓館

// 綁定事件肯定不能放入事件中啊, 放到事件中就只有需要先移除了

tree.on("nodeselect", function(e){

}).on("nodeclick", function(e){

});
2017年11月13日 12:58
編輯回答
大濕胸

1.一種方式是用委托,把時(shí)間都掛在父級(jí)元素上
2.二是在on之前先off

2018年4月22日 21:30
編輯回答
夏夕

解決了 先移除事件再添加

https://segmentfault.com/q/10...

tree.un('nodeclick').on("nodeclick", markerClickText(id,latLng));

$('#sub').unbind('click').click(function () {
    ...
});

$('#sub').off().click(function () {
...
});
2017年2月14日 12:05