在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);