on()事件里套着on()事件 总是被递增

.on事件里面还有个.on 单击时候总是逐次递增 如何解决

    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));//原有中心点向下偏移
            
        } else {
            grid.setData([]);
            grid.setTotalCount(0);
        }
    });

clipboard.png

阅读 2k
3 个回答

解决了 先移除事件再添加

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

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

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

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

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

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

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

});

1.一种方式是用委托,把时间都挂在父级元素上
2.二是在on之前先off

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏