Ich verwende den JQuery-Trigger, bin mir aber nicht sicher, wie die richtige Syntax zum Übergeben von Parametern in meiner Situation lautet. Hier rufe ich an:
$('#'+controlName).trigger(event);
Hier mache ich die Ereignisbindung:
$(window).on('onPartialRendered', onPartialRendered);
Und hier ist mein Event-Handler:
var onPartialRendered = function () {
.....
};
Alles funktioniert gut, bis ich versuche, Parameter zu übergeben. Was wäre der richtige Weg, um es gemäß meinem Beispiel zu tun?
javascript
jquery
user517406
quelle
quelle
onPartialRendered
hat keine Parameter in seiner Signatur. Es sollte seinonPartialRendered = function(e, p1, p2)
.Antworten:
Der erste Parameter ist immer eine Zeichenfolge mit dem Ereignisnamen und die nächsten Parameter sind zusätzliche Daten:
.trigger('foo', [1, 2]); .on('foo', function(event, one, two) { ... });
Besonderer Dank für Rocket Hazmat
Beispiel:
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); });
Remote partiell:
Bitte nicht auf diese Weise verwenden. Es gibt viele Artikel über dieses Problem im Netzwerk. Dies nimmt viel Zeit in Anspruch und erzeugt unnötigen Datenverkehr im Netzwerk. Bitte benutzen Sie diesen Weg:
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);
quelle
.trigger
nimmt nur 2 Argumente. Sie müssen ein Array (oder Objekt) von Parametern übergeben.var onPartialRendered = function (event,one,two) {