如何根据点击的DOM节点区分点击事件?
How to differentiate the click event based on clicked DOM node?
如何根据单击的节点更改方法的行为?如果单击 $('.parent')
,我想将 data
属性的 value
更改为 0
。
$('.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)
检查点击了哪个元素。
Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments.
为简单起见,我已将函数引用传递给点击处理程序。
$('.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?
如何根据单击的节点更改方法的行为?如果单击 $('.parent')
,我想将 data
属性的 value
更改为 0
。
$('.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)
检查点击了哪个元素。
Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments.
为简单起见,我已将函数引用传递给点击处理程序。
$('.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?