CSS条件选择器this或that

问题描述 投票:0回答:2

目前我有这样的东西

$("#foo").click(function () {callMe();});
$("#bar").click(function () {callMe();});

foo和bar做同样的事情。我是否可以定义选择器,说明是否调用了foo id或bar id然后触发click事件?我尝试过,但是没有用

 $("#foo","#bar").click(function () {callMe();});
css css-selectors
2个回答
0
投票

您可以给他们一个类,然后检查目标元素的ID:

$('').on('click', function(e) {
  if (e.currentTarget.id === 'foo') {
    console.log('foo clicked');
  } else {
    console.log('bar clicked');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="click" id="foo">foo</div>
<div class="click" id="bar">bar</div>

或者如果我对这个问题有误解,而您只想使用它们的ID选择两个元素,则可以使用

$('#foo,#bar').on('click', function() {});

注意逗号在引号中,而不是单独的引号中


0
投票

语法和代码看起来不错,我认为您没有正确导入jQuery。

我尝试过相同的方法,并且效果很好。看看下面的代码。

function callMe () {
alert("callMe function called!");
}

$("#foo").click(function () {callMe();});
$("#bar").click(function () {callMe();}); 

 $("#foo #bar").click(function () {callMe();});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="foo"> foo </button> 
<button id="bar"> bar </button>
© www.soinside.com 2019 - 2024. All rights reserved.