如何在第一次单击后禁用触发器单击

WP *_*ner 1 javascript jquery onclick

onclicka我需要调用一个函数并#myDiv只触发一次的元素.假设我点击'Apple'任意次,它应该只触发一次.然后转到'Orange'或'Banana'并再次回到'Apple',就像之前我只需触发一次一样.假设可以有任意数量的a那些,那些是动态的.我怎样才能做到这一点?

function activateMyClick(myId) {
   $('#myDiv').trigger('click');
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a onclick="activateMyClick(7)" id="7" class="active">Apple</a>
<a onclick="activateMyClick(8)" id="8" class="active">Orange</a>
<a onclick="activateMyClick(9)" id="8" class="active">Banana</a>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

正如您使用jQuery标记了这一点,您可以删除过时的on*事件属性并使用它one()来实现:

$('a.active').one('click', function() {
  $('#myDiv').trigger('click');
});

// for demonstration purposes only:
$('#myDiv').click(function() {
  console.log('div click raised!');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a id="7" class="active">Apple</a>
<a id="8" class="active">Orange</a>
<a id="8" class="active">Banana</a>

<div id="myDiv"></div>
Run Code Online (Sandbox Code Playgroud)