只运行一次javascript函数
我有这个简单的javascript函数:
var popup = '0'; if(popup == '0') { $(document).ready(function () { $(document).on('click', '.button', function(){ alert('test'); popup = '1'; }); }); }
我希望该function仅在第一次单击时发出警报,但它仍然有效,尽管我将popup
的值更改为1
你需要的是.one()
函数。 它确保代码仅为您触发一次。
文档: http : //api.jquery.com/one/
文档示例:
$( "#foo" ).one( "click", function() { alert( "This will be displayed only once." ); });
编写如下代码:
设置单击侦听器后,之前的if语句的位置不再执行。 只有点击function里面的代码。
或者,您可以取消绑定onClick侦听器,而不是设置popup = '1'
。 请尝试以下方法:
更简洁,就像Mathletics所提到的那样,可以清除内存中不必要的回调。
尝试:
你有一个函数将popup设置为1,但从未再次检查它的值。 这样它就会被检查并且应该正常工作。