简体   繁体   English

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

[英]Pass data using jQuery Trigger event to a Change event handler?

Is there a way to pass data to a change event via jQuery's trigger method? 有没有办法通过jQuery的trigger方法将数据传递给change事件?

The issue here is that a click event triggers the upload menu. 这里的问题是click事件会触发上传菜单。 Once the image is selected, the change event is fired, however. 选择图像后,会触发change事件。 The data I passed into the trigger event's second parameter is passed to the click event, not to the change event. 传递给触发器事件的第二个参数的数据被传递给click事件,而不是传递给change事件。 In the example below, data is undefined. 在下面的示例中, data未定义。

Trigger Image Change 触发图像更改

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

Event Handler 事件处理程序

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

.live() is deprecated. .live()已弃用。 Use .on() like this. 像这样使用.on() And change event should be triggered, not click 并且应该触发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
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM