使用jQuery Trigger事件将数据传递给Change事件处理程序?

时间:2012-11-22 05:05:18

标签: javascript jquery

有没有办法通过jQuery的change方法将数据传递给trigger事件?

此处的问题是click事件会触发上传菜单。选择图像后,会触发change事件。传递给触发器事件的第二个参数的数据被传递给click事件,而不是传递给change事件。在下面的示例中,data未定义。

触发图像更改

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

1 个答案:

答案 0 :(得分:68)

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