我在将商品添加到购物车时有自定义事件触发器:
var order = function (){
$(document).trigger('customEvent');
...........
........
};
我有一个结构,其中列出了商品的价格,当在购物车中添加该商品时,我必须从dom中获取价格。问题是如果我收听customEvent,它将定位文档而不是触发事件的位置。
有没有办法定位该元素?
这些都指向文件而不是元素。
event.target || event.srcElement || event.originalTarget || $(event.target)
答案 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();
})