0

因此,当有人单击具有特定类名(其中 10 个类)的元素时,我正在运行一个函数。然后在该函数中,我有另一个单击侦听器,用于具有另一个类名(另一个 10)的元素。我希望第二次点击功能在第一次点击后只发生一次。

所以理想情况下,有人会从一组 10 个中单击某些东西,然后我会从中提取数据并在有人单击另一组 10 个元素中的一个元素时应用它。然后为了单击第二组 10 个元素,他们将不得不单击又是第一组的东西。

我在解决这个问题时遇到了麻烦,我尝试了某种 .one 实现。

 $('.words_col .wrap').click(function(){
   theFunction(this)
 })

然后

 function theFunction(e) {
   $('.examples_col .wrap').click(function(){
     //allow only once.
   })
 }
4

2 回答 2

1
$('.words_col .wrap').click(function(){
   theFunction(this);
 });

function theFunction(e) {
   var oncer = true;
   $('.examples_col .wrap').click(function(){
     if(!oncer){return false;}
     oncer = false;
     //allow only once.
   })
 }

我将其添加为替代方法,.one因为您选择了多个元素,并且.one将允许单击每个元素,而不是单击总数。

于 2012-12-03T21:48:10.017 回答
0

one()将只附加一次点击:

$('.words_col .wrap').on('click', function(){
   $('.examples_col .wrap').one('click', function(){
       //works only once
   });
});
于 2012-12-03T21:44:39.457 回答