2016-08-27 6 views
0

ウェブ/アプリ作成ツールWeld用のウィジェットシステムを構築していますが、DOM上の要素間でデータをやりとりしたいと考えています。JavaScriptイベントで要素間でデータを転送できますか?

理想的のようなもの:

var myObject = { name: 'Bob', age: 35 }; 

// Send change event with data 
$('#myElement').trigger('change', myObject); 

// Listen to change event and receive data 
$('#myElement').change(function (event, myObject) { 
    console.log('#myElement received', myObject); 
}); 

は、この可能性のようなものですか?

明確にするために、イベントトリガー/受信は機能しますが、どういうわけかmyObjectをイベントに転送できますか?

+0

はいあなたが引き金に渡す追加の引数は配列にする必要がありますので、$.triggerがリスナーにFunction.applyを使用して終わることに注意してください。 jqueryトリガAPIを見てください –

答えて

1

はい、可能です。

var myObject = { name: 'Bob', age: 35 }; 

// Send change event with data 
$('#myElement').trigger('change', [myObject, 'hi']); 

// Listen to change event and receive data 
$('#myElement').change(function (event, myObject, someMessage) { 
    console.log('#myElement received', myObject, someMessage); 
}); 

これは、ドキュメントに概説されています:​​

関連する問題