将事件传递给函数?

时间:2017-01-02 20:14:20

标签: jquery

如何将事件从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。所以我猜测事件没有通过。

2 个答案:

答案 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')}
 }