如何将事件从mouseup事件传递给函数?
我的代码到目前为止
$(".add, .remove").on("mouseup", getCart);
function getCart(e)
{
post_data = {"id" : e.attr('data-productNumber'), "action" : e.attr('data-action')}
}
我得到TypeError: Cannot read property 'attr' of undefined
。所以我猜测事件没有通过。
答案 0 :(得分:2)
事件对象没有attr
方法。您可能需要e.target
来引用获取事件的元素。 jQuery元素将具有attr
方法。
所以:
$(e.target).attr('data-productNumber')
...等
如果目标元素与您拥有选择器的元素相同,即使用 add 或 remove 类,您还可以使用{{1} }:
this
注意:jQuery loads the data-
attributes在其数据对象中,所以你也可以这样做:
$(this).attr('data-productNumber')
答案 1 :(得分:-2)
将目标元素传递给函数。
$(".add, .remove").on("mouseup", getCart($(".add, .remove")));
function getCart(e)
{
post_data = {"id" : e.attr('data-productNumber'), "action" : e.attr('data-action')}
}