42

changejQueryのメソッドを介してイベントにデータを渡す方法はありtriggerますか?

ここでの問題は、clickイベントがアップロードメニューをトリガーすることです。changeただし、画像が選択されると、イベントが発生します。トリガーイベントの2番目のパラメーターに渡したデータは、変更イベントではなく、クリックイベントに渡されます。以下の例では、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
});
4

1 に答える 1

89

.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
});
于 2012-11-22T05:20:23.280 に答える