カスタム イベント オブジェクトを使用して、一部のオブジェクトでイベントをトリガーすることは可能ですか? すなわち
$('#Element1').click(function(event){
console.log('Element1 clicked', event);
}
$('#Element2').click(function(event)
{ //handle click on one element
//optionally modify the event object
event.target=Something;
//Trigger the event handler(s) on some other element using modified event object
$('#Element1').click(event);
});
背景のビット:
私のインスタンスでは、Element2 は Element1 のほぼ同一のクローンですが、位置が異なります。Element2 がクリックされると、そのクリックは Element1 に転送されます。
Element2 のどの子がクリックされたかに従って、Element1 の正しい子を識別するコードは既にありますが、要素 1 の子のクリック イベント ハンドラーでは、pageX および pageY プロパティを正しく設定する必要があり、.click() はこれらのプロパティを完全に省略します。
この例では、ターゲット プロパティが正しく設定されていないため、ディープ クローンを実行してイベント ハンドラーを含めるだけでは不十分です。
私のインスタンスでの 1 つの回避策は、複製された要素が元の要素 (およびすべての子) への参照を保持し、ハンドラーがその参照をチェックすることですが、ハンドラーが複製の知識を持たない解決策をお勧めします。プロセス - 特に、変更するハンドラーがたくさんあるためです!