发新贴  快速回复

请教怎么给事件添加开关

  蛮牛
2017-12-15 13:02

触发点击事件时第一次点击事件里的回调没执行完毕,将事件变为false,不能点击,当回调函数执行完毕事件变成true,可以点击

尹巍

同学,您好。


首先,当你第一次触发点击事件的时候,立刻就应该讲元素的点击状态编程false,


 


在你的onclick 函数的最前面添加一下两行代码


if(!state) return; //前提是state是一个全局变量或者是被点击元素的私有属性都可以,并且默认是true;


state = false;


 


然后,你将要找到你下面这一对要执行的代码中哪个回调函数是最后执行的,在其中加上一下一行代码即可:


state = true;


试试看哦

2017-12-21 01:39  回复本帖
 
蛮牛

还是不行,不理解

2017-12-22 12:45  回复本帖
尹巍

蛮牛 2017-12-22 12:45发表的内容:

还是不行,不理解

函数里面不要用var
2017-12-22 16:09  回复本帖
 
蛮牛

请教这一点还是达不到效果,一直不理解

2017-12-23 11:40  回复本帖
Flowke

在最后的 duDong(adiv, 'tob')里面加一个回调函数,专门用来改变 etr = true


 


duDong(adiv, 'tob', function(){ etr=true })

2017-12-29 14:38  回复本帖
Flowke

蛮牛 2017-12-23 11:40发表的内容:

请教这一点还是达不到效果,一直不理解

在最后的 duDong(adiv, 'tob')里面加一个回调函数,专门用来改变 etr = true





duDong(adiv, 'tob', function(){ etr=true })
2017-12-29 14:38  回复本帖
 
蛮牛

感谢 老师半个月终于解决了,虽然战时不理解,先死记,慢慢理解

2017-12-29 14:47  回复本帖
 
蛮牛

Flowke 2017-12-29 14:38发表的内容:

在最后的 duDong(adiv, 'tob')里面加一个回调函数,专门用来改变 etr = true





duDong(adiv, 'tob', function(){ etr=true })
还是有问题,最后一个函数不执行了
2017-12-29 15:06  回复本帖
尹巍

duDong(adiv, 'tob', function(){ etr=true }) 这个函数里加了 ert = true 其他地方就不要这个代码了


这里为什么不执行,有没有报错?  

2017-12-29 16:45  回复本帖
 
蛮牛

尹巍 2017-12-29 16:45发表的内容:

duDong(adiv, 'tob', function(){ etr=true }) 这个函数里加了 ert = true 其他地方就不要这个代码了


这里为什么不执行,有没有报错?  

报错找不到最后一个函数

2017-12-29 18:01  回复本帖
尹巍

吧你的代码截图出来,可能是你的语法写错了。

2017-12-29 18:15  回复本帖
登录 后才可以发表回复