Подтвердить что ты не робот

Передавать данные с помощью события JQuery Trigger в обработчик события "Изменить"?

Есть ли способ передать данные в событие change через метод jQuery trigger?

Проблема заключается в том, что событие click запускает меню загрузки. Однако, если выбрано изображение, событие change запускается. Данные, которые я передал во второй параметр события триггера, передаются событию клика, а не событию изменения. В приведенном ниже примере data есть undefined.

Изменение триггерного изображения

$('.change_main_image').live('click', function() {
    $('input[name=photo].change_uploader').trigger('click', ["some string"]);
});

Обработчик событий

$('input[name=photo].change_uploader').live('change', function (e, data) {
   alert(data); // undefined
   //canvas resize and upload script
});
4b9b3361

Ответ 1

.live() устарел. Используйте .on() следующим образом. Событие change должно быть запущено, а не click

$('.change_main_image').on('click', function() {
    $('input[name=photo].change_uploader').trigger('change', [{somedata:true}]);
});


$('input[name=photo].change_uploader').on('change', function (e, data) {
   alert(data.somedata); 
   //canvas resize and upload script
});