定位生成事件的元素

时间:2012-06-02 01:30:23

标签: javascript jquery events

我在将商品添加到购物车时有自定义事件触发器:

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

我有一个结构,其中列出了商品的价格,当在购物车中添加该商品时,我必须从dom中获取价格。问题是如果我收听customEvent,它将定位文档而不是触发事件的位置。

有没有办法定位该元素?

这些都指向文件而不是元素。

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

2 个答案:

答案 0 :(得分:0)

您是否尝试在事件处理程序中使用$(this)? AFAIK,它应该指向接收事件的实际元素。

$('#myElement').on('customEvent',function(){
  $(this).text('foo')
})
$('#mySecondElement').on('customEvent',function(){
  $(this).text('bar')
})
$(document).trigger('customEvent')

答案 1 :(得分:0)

不是在文档元素上触发事件,为什么不在项目上触发它呢?

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

..从评论编辑..

如果您只需要检索一些相对于被点击的div的信息,而不是使用附加到页面的文档customEvent处理程序,您可以使用简单的$()。click()事件。

$('#itemThatWasAddedId').click(function(){ 
    //retrieve the item price using the inner html, or a selector..
    $(this).html();
})