Ответ от @Khalid Taha правильный.
Однако для моего конкретного случая я мог бы использовать JSONObject. Что было не так, так это то, как я это использовал.
Если я получаю доступ к данным таким образом, это работает:
JSONObject additionalData = receivedResult.payload.additionalData;
, а затем я могу получить отдельные параметры, например, так:
final String notificationType = additionalData.optString("notification_type");
Вероятно, свойство additionalData
является встроенное свойство уведомлений.
Вы не можете легко (и вероятно не был должен) "копировать" событие. То, что можно сделать, использовать ту же функцию для обработки каждого:
var clickHandler = function() { alert('click'); };
// or just function clickHandler() { alert('click'); };
$('#firstEl').click(clickHandler);
// and later
$('#secondEl').click(clickHandler);
Кроме того, Вы могли на самом деле уволить событие за первый элемент во втором обработчике:
$('#firstEl').click(function() {
alert('click');
});
$('secondEl').click(function() {
$('#firstEl').click();
});
Править: @nickf волнуется по поводу загрязнения глобального пространства имен, но этого можно почти всегда избегать путем обертывания кода в объекте:
function SomeObject() {
this.clickHandler = function() { alert('click'); };
}
SomeObject.prototype.initFirstEvent = function() {
$('#firstEl').click(this.clickHandler);
};
SomeObject.prototype.initSecondEvent = function() {
$('#secondEl').click(this.clickHandler);
};
или обертывание Вашего кода в анонимной функции и вызов его сразу:
(function() {
var clickHandler = function() { alert('click'); };
$('#firstEl').click(clickHandler);
$('#secondEl').click(clickHandler);
})();
Вы могли бы интересоваться triggerHandler методом
// here's where the magic happens
//$('#secondEl').click = $('#firstEl').click; // ????
$('#secondEl').click(function() {
$('#firstEl').triggerHandler('click');
});
Это то, что Вы ищете?
var clickHandler = function() { alert("Handled!"); }
$('#firstEl').click(clickHandler);
$('#secondEl').click(clickHandler);
$ ('#secondEl') .click = $ ('#firstEl') .click.bind ($ ('#secondEl'));
Принятие Вас использует Прототип JS (http://www.prototypejs.org/api/function/bind)