Javascript 当通过更改css可以看到Div时,该Div上的事件将发生多次
上面是用户单击nav.showall时打开div#allpage的示例。这里的错误是当用户关闭div并再次打开它时,函数运行的次数会受到div关闭次数的影响Javascript 当通过更改css可以看到Div时,该Div上的事件将发生多次,javascript,jquery,html,hidden,Javascript,Jquery,Html,Hidden,上面是用户单击nav.showall时打开div#allpage的示例。这里的错误是当用户关闭div并再次打开它时,函数运行的次数会受到div关闭次数的影响 例如,当用户第一次打开div框时,它将警告一次“测试”,如果用户打开div框,关闭它,然后再次打开,它将警告两次“测试”,依此类推。如何解决此问题?在Javascript中指定一个全局变量,并在单击对象时增加它的计数器,以便您可以根据需要跟踪此处为虚拟数据: $('nav .show_all').on('click', function()
例如,当用户第一次打开div框时,它将警告一次“测试”,如果用户打开div框,关闭它,然后再次打开,它将警告两次“测试”,依此类推。如何解决此问题?在Javascript中指定一个全局变量,并在单击对象时增加它的计数器,以便您可以根据需要跟踪此处为虚拟数据:
$('nav .show_all').on('click', function() {
$('#all_pages').
addClass('active').
css('opacity', 0).
animate({
opacity: 1
}, 1000);
Book.all_pages();
return false;
});
all_pages: function() {
alert ('test1'); // test here is ok
$('#slider li').click(function() {
alert ('test2'); // this test is not ok
});
}
你能用计算机模拟这个问题吗?谢谢您您的代码片段看起来不错,问题一定在其他地方。页面中是否有AJAX再次重新加载相同的代码?再次调用的同一处理程序将触发的次数与调用的次数相同。是否通过其他事件多次添加单击事件?抱歉。我去吃午饭了,这个函数已经有好几次没有启动了,但是它里面的所有事件都有,比如在这个例子中的点击事件。你可以添加一个警报,看看它是否会弹出两次。这会更容易。另外,我认为if语句中的
$
不应该存在。
var i=0;
function your_function(){
///.......
// your code goes here
if (i % 2 == 0) {
alert('You Open it :)');
}
i++;
}