如何根据点击的DOM节点区分点击事件?
问题描述:
如何根据点击哪个节点来更改方法的行为?如果单击$('.parent')
,我想要将data
属性的value
更改为0
。如何根据点击的DOM节点区分点击事件?
$('.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);
}
答
您可以使用.is(selector)
来检查哪个元素被点击。
根据选择器,元素或jQuery对象检查当前匹配的元素集合,如果这些元素中至少有一个匹配给定的参数,则返回true。
为简单起见,我已将函数引用传递给click处理程序。
$('.parent').on('click', this.someClickFunction);
$('.child').on('click', this.someClickFunction);
someClickFunction: function (event) {
$('.holder').data('type', $(event.target).is('.parent') ? 1: 0);
}
如果($( '父')== event.target)? –