$('input[name=boxes], .item_add a ').on('click', function(e) {
e.preventDefault();
//do stuff inherent to both
}
有没有办法在我单击链接时阻止默认滚动操作[.item add a]
,但仍然保留选中和取消选中复选框的默认操作,而input[name=boxes]
不会将这两个分解为单独的 onclick 函数?
$('input[name=boxes], .item_add a ').on('click', function(e) {
this.tagName == 'A' && e.preventDefault();
//do stuff inherent to both
}
$('input[name=boxes], .item_add a ').on('click', function(e) {
if($(e.target).is('a')) e.preventDefault(); //if it is a link then prevent
//do stuff inherent to both
})
检查目标元素
if($(this).is('.item_add a')) e.preventDefault();
$('input[name=boxes], .item_add a ').on('click', function(e) {
if (this.tagName == "A"){
e.preventDefault();
}
//do stuff inherent to both
}
您可以将其保留在一个函数中,但是在函数内部进行检查?
if(!$(this).is(':checkbox')) {
e.preventDefault();
return false;
}
试试这个:
$('input[name=boxes], .item_add a ').on('click', function(e) {
if (!$(this).is(':checkbox') {
e.preventDefault();
}
//do stuff inherent to both
}