第二个参数永远不会到来

时间:2012-06-18 17:39:10

标签: javascript jquery javascript-events parameter-passing

我用jquery创建了一个自定义触发器,它接受两个参数,但第二个从未到达

//firstly
$(Crafty).bind('onTsxLoaded', function (event, tsx, firstSpriteId) {
    console.log("tsx", tsx);
    console.log("firstspriteid", firstSpriteId);
}

//<snip>
success: function (xml) {
   var firstSpriteId = tileset.attr("firstgid");
   console.log("done loading ts", firstSpriteId);
   $(Crafty).trigger('onTsxLoaded', xml, firstSpriteId);
}

的产率:

"done loading ts" 1
"tsx" object
"firstspriteid" undefined

为什么firstspriteid 1在触发之前并且在之后未定义?

1 个答案:

答案 0 :(得分:2)

如果要使用trigger将额外参数传递给事件,则需要将它们放在数组中。

$(Crafty).trigger('onTsxLoaded', [xml, firstSpriteId]);