如何根据点击的DOM节点区分点击事件?

时间:2016-04-21 16:10:33

标签: javascript methods jquery-click-event

如何根据点击的节点更改方法的行为?如果点击了data,我想将value属性的0更改为$('.parent')

$('.parent').on('click', function (event) {
    this.someClickFunction(event);
});

$('.child').on('click', function (event) {
    this.someClickFunction(event);
});

someClickFunction: function (event) {
    //TODO: If $('.parent') was clicked, change to 0
    $('.holder').data('type', 1);
}

1 个答案:

答案 0 :(得分:1)

您可以使用.is(selector)来检查点击了哪个元素。

  

针对选择器,元素或jQuery对象检查当前匹配的元素集,如果这些元素中至少有一个与给定的参数匹配,则返回true。

为简单起见,我已将函数引用传递给click handler。

$('.parent').on('click', this.someClickFunction);
$('.child').on('click', this.someClickFunction);


someClickFunction: function (event) {
    $('.holder').data('type', $(event.target).is('.parent') ? 1: 0);        
}

好读Difference between $(this) and event.target?