我有一个小的自定义插件,我在其中构建,当我点击某个项目时触发事件。使用鼠标左键单击项目时,将触发以下内容:
Holder.KeyboardPlugin.prototype.triggerExpansion = function() {
if(this.expandedItem){
var changedGroupSource = null;
Holder.events.trigger(this, 'groupselect', function(changedGroup){
changedGroupSource = changedGroup;
});
}
};
Holder.events.trigger
包含以下代码:
function (object, event, properties) {
var index = this.indexOf(object);
var listener = this.listeners[index];
if (listener) {
var callbacks = listener.events[event];
if (callbacks) {
for (var i = 0, iMax = callbacks.length; i < iMax; i++) {
callbacks[i](properties);
}
}
}
这里的问题是在上面的triggerExpansion()方法中,功能上现在一切都很好。我正在将一个类函数传递给triggerProperties
并通过该回调函数,我正在修改插件内部changedSource
变量。
但是,除此之外,我还想将所选组的索引(一定数量)传递给我的html(使用插件)中的监听器。既然,我已经通过了回调函数,我无法解决如何将回调函数传递给某个索引的问题。有什么建议吗?
答案 0 :(得分:0)
也许你可以这样做:
Holder.events.trigger(this, 'groupselect', {
index: theIndex,
callback: function(changedGroup){...}
});
所以在事件监听器中你将有event.index和event.callback。
这就是你需要的吗?