CSS условный селектор или то или это - PullRequest
0 голосов
/ 27 января 2020

в настоящее время у меня есть что-то вроде этого

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

foo и bar делают то же самое. Есть ли способ для меня, чтобы определить селектор, говорящий либо, если foo id или bar id вызывается, то вызвать событие click? Я пробовал это, но это не сработало

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

Ответы [ 3 ]

0 голосов
/ 27 января 2020

Синтаксис и код выглядят хорошо, я думаю, что вы не импортировали jQuery правильно.

Я попробовал то же самое, и он отлично работает. Посмотрите на код ниже.

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

$("#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>
0 голосов
/ 27 января 2020

document.getElementById("demo").addEventListener("click", callMe);

function callMe(e) {
  let id = e.target.id
  console.log(id);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="demo">
  <button id="foo">Foo</button>
  <br> <br>
  <button id="bar">bar</button>
</div>
0 голосов
/ 27 января 2020

вы можете дать им класс, а затем проверить идентификатор целевого элемента:

$('').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>

Или, если я неправильно понимаю вопрос, и вы просто хотите выбрать оба элемента, используя их идентификаторы, вы можете просто использовать

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

обратите внимание, что запятая в кавычках, а не в отдельных кавычках

...