我用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在触发之前,而在触发之后未定义?

最佳答案

如果要使用trigger将额外的参数传递给事件,则它们必须位于数组中。

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

10-08 16:06