1

我有一个正在构建的小型自定义插件,当我点击某个项目时,我会在其中触发一个事件。当用鼠标左键单击项目时,会触发以下内容:

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(使用插件)中的侦听器。因为,我已经通过了回调函数,所以我无法在这里解决我应该如何传递某个索引以及回调函数。有什么建议么?

4

1 回答 1

0

也许您可以执行以下操作:

Holder.events.trigger(this, 'groupselect', {
    index: theIndex,
    callback: function(changedGroup){...}
});

所以在事件监听器中你将拥有 event.index 和 event.callback。

那是你需要的吗?

于 2013-02-24T09:53:44.167 回答