我正在创作一个实例化地图的插件。然后,该地图将提供移动到地球上另一个地方的功能。
该脚本使地图很好。但是,我不能“附加”元素上的函数,以供回调中的另一个插件使用。
这是我尝试过的方法;在插件中:
(function($){
$.fn.mapDo(options){
map = new BlahMap(this.get(0));
this.moveTheMap = function(place){
map.moveItToThat(place);
}; // nope.
}
})(jQuery);
那么,鉴于:
$(map).mapDo();
$(otherElement).otherControl({
callback: function(place){
$(map).moveTheMap(place); // moveTheMap is not there on $(map)!
}
};
问题
如果可能,如何向地图 jQuery 或 DOM 元素添加函数?如果没有,我该如何提供这种功能?
更重要的是,通过这种方式分离事物,我是否走在正确的道路上?我对 Javascript 有点陌生,这些任务通常是如何在保持组件分开的同时完成的?
虽然这是我的尝试,但更一般地说,我在从 jQuery 插件输出内容的同时保持可链接性的概念上苦苦挣扎。在这种情况下,我想做的是从插件中输出一个回调,该回调将在稍后的执行中作用于被调用的元素。