0

ショッピング カートにアイテムを追加する際のカスタム イベント トリガーがあります。

var order = function (){
   $(document).trigger('customEvent');
    ...........
   ........
};

アイテムの価格がリストされている構造があり、そのアイテムをカートに追加するときに、 dom から価格を取得する必要があります。問題は、customEvent をリッスンすると、イベントがトリガーされる場所ではなく、ドキュメントがターゲットになることです。

その要素をターゲットにする方法はありますか?

これらはすべて、要素ではなくドキュメントを指しています。

event.target || event.srcElement || event.originalTarget || $(event.target) 
4

2 に答える 2

0

$(this)イベントハンドラ内で使用してみましたか? 私の知る限り、イベントを受け取った実際の要素を指す必要があります。

$('#myElement').on('customEvent',function(){
  $(this).text('foo')
})
$('#mySecondElement').on('customEvent',function(){
  $(this).text('bar')
})
$(document).trigger('customEvent')
于 2012-06-02T01:34:11.907 に答える
0

ドキュメント要素でイベントをトリガーする代わりに、アイテムでトリガーしてみませんか?

 $('#itemThatWasAddedId').trigger('customEvent');

..コメントから編集..

ページに添付されたドキュメント customEvent ハンドラを使用する代わりに、クリックされた div に関連する情報を取得する必要がある場合は、単純な $().click() イベントを使用できます。

$('#itemThatWasAddedId').click(function(){ 
    //retrieve the item price using the inner html, or a selector..
    $(this).html();
})
于 2012-06-02T01:34:53.943 に答える