在JQuery .trigger上传递参数

我正在使用JQuery触发器,但不知道正确的语法是传递参数在我的情况。 这是我打电话的地方:

$('#'+controlName).trigger(event); 

这里是我在做事件绑定的地方:

 $(window).on('onPartialRendered', onPartialRendered); 

这里是我的事件处理程序:

 var onPartialRendered = function () { ..... }; 

一切工作正常,直到我尝试传递参数。 按照我的例子,正确的方法是什么?

第一个参数总是带有事件名称的string,下一个参数是附加数据:

 .trigger('foo', [1, 2]); .on('foo', function(event, one, two) { ... }); 

特别感谢Rocket Hazmat

例:

 var controller = { listen: function (event, json, string) {} }; $('body').trigger('this_works', [{data: [1, 2, 3]}, 'something']); $('body').on('this_works', function (event, json, string) { controller.listen(event, json, string); }); 

远程部分:

请不要使用这种方式。 关于networking中的这个问题有很多文章。 这需要很多时间,并在networking中产生不必要的stream量。 请用这种方式:

 var template = $('#templates #example_template').detach(); var clone = template.clone(); clone.find('.some_field').val('new_data'); clone.attr('id', null); $('table tbody').append(clone);