JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 单击Leaflet Draw取消按钮时识别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

问题

我正在使用leaflet draw作为我的应用程序,并且我已将“删除”按钮激活.删除按钮有三个选项:

>保存
>取消
>全部清除

我希望在用户单击Save时调用函数foo(),但是,我希望在单击Cancel时调用函数bar().

Live demo

我知道这可以通过简单地给它一个ID,并添加一个事件监听器来实现,但它并不像我认为的那样干净.

理想解决方案

Leaflet绘制了自己的方法,用于检测按钮何时被按下,但在我看来,它们只能在更高的级别上进行.例如:

这允许我在用户选择三个选项中的任何一个后调用foo(),表示他们已经完成了处理删除按钮交互.

我无法在文档中找到一种方法,能够在按下的各个按钮上侦听传单绘制触发事件.

最佳答案
取消/禁用功能的处理程序存储为L.Control.Draw实例的一部分.因此,您可以在实例化L.Control.Draw对象后立即修改处理程序:

var myDrawControl = new L.Control.Draw();

myDrawControl._toolbars.edit.disable =  function () {
  if (!this.enabled()) {
    /* If you need to do something right as the
       edit tool is enabled,do it here right
       before the return */
    return;
  }

  this._activeMode.handler.revertLayers();
  /* If you need to do something when the
     cancel button is pressed and the edits
     are reverted,do it here. */
  L.Toolbar.prototype.disable.call(this);
};

处理程序的源代码是here,虽然这很好用,但您必须小心可能会更改处理程序功能的Leaflet.Draw的未来版本.

大佬总结

以上是大佬教程为你收集整理的javascript – 单击Leaflet Draw取消按钮时识别全部内容,希望文章能够帮你解决javascript – 单击Leaflet Draw取消按钮时识别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: