You only pass a string, and that more JSON inside the string is an array, not an object. Try the following:
$('a.another').live('click', function(e, data) { alert(data[0].isMachineClick); }); $('a.another').trigger('click', [{isMachineClick:true}]);
UPDATE I did not understand how it worked: the use of the array is correct, and each additional element becomes a different argument. This is the correct code:
$('a.another').live('click', function(e, data, data2) { alert(data.isMachineClick); alert(data2.someOtherThing); }); $('a.another').trigger('click', [{isMachineClick:true}, {someOtherThing:false}]);
source share