Yandex映射api -事件处理程序只执行一次



我想实现类似.one()/http://api.jquery.com/one/的东西与myYandexMap.events.add('click', function(e){}). 这意味着,要在click上有一个函数,它只会运行一次,或者我可以用其他函数替换它。

我试图在函数的末尾删除内部函数,但我不知道如何做到这一点。这就是我所做的

yxMap.events.add('click', function (e){ add_wp_map_click(e, num, color) });
function add_wp_map_click(e, num, color){
  ...
  yxMap.events.remove('click', function (e){ add_wp_map_click(e, num, color) });
}

您也可以尝试使用.once方法:

yxMap.events.once('click', handler, context);

您必须删除相同的处理程序,重新声明函数不起作用,因为它是javascript (function() {} === function() {} -> false)的两个不同函数。

试题:

var clickHandler = function(e) { 
    yxMap.events.remove('click', clickHandler);
    add_wp_blah(); 
};
yxMap.events.add('click', clickHandler);

相关内容

  • 没有找到相关文章

最新更新