JQuery .trigger에서 매개 변수 전달 데 올바른 구문이 무엇인지

JQuery 트리거를 사용하고 있지만 내 상황에서 매개 변수를 전달하는 데 올바른 구문이 무엇인지 잘 모르겠습니다. 내가 전화를 거는 곳은 다음과 같습니다.

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

다음은 이벤트 바인딩을 수행하는 곳입니다.

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

그리고 여기에 내 이벤트 핸들러가 있습니다.

var onPartialRendered = function () {

    .....
};

매개 변수를 전달하려고 할 때까지 모든 것이 잘 작동합니다. 내 예에 따라 올바른 방법은 무엇입니까?



답변

첫 번째 매개 변수는 항상 이벤트 이름이있는 문자열이고 다음 매개 변수는 추가 데이터입니다.

.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);
});

원격 부분 :

이런 식으로 사용하지 마십시오. 네트워크에서이 문제에 대한 많은 기사가 있습니다. 이것은 많은 시간이 걸리고 네트워크에서 불필요한 트래픽을 생성합니다. 다음과 같이 사용하십시오.

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


답변