在另一个函数中仅运行一次单击功能

时间:2012-12-03 21:40:21

标签: javascript jquery click

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

理想情况下,有人会点击一组10中的内容,然后我会从中提取数据并在有人点击另一组10中的元素时应用它。然后为了点击第二组10,他们将必须再次点击第一组中的内容。

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

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

然后

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

2 个答案:

答案 0 :(得分: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将允许每次点击一次,而不是一次点击。

答案 1 :(得分:0)

one()只会附加一次点击次数:

$('.words_col .wrap').on('click', function(){
   $('.examples_col .wrap').one('click', function(){
       //works only once
   });
});