Jquery绑定,取消绑定
我正在将一些单击事件绑定到我拥有的一些图像。单击其中一个图像时,我希望禁用所有图像,然后在两秒钟后添加回相同的单击事件 到目前为止,我有以下几点:Jquery绑定,取消绑定,jquery,jquery-click-event,Jquery,Jquery Click Event,我正在将一些单击事件绑定到我拥有的一些图像。单击其中一个图像时,我希望禁用所有图像,然后在两秒钟后添加回相同的单击事件 到目前为止,我有以下几点: $('#pagination img').each(function(index){ $( this ).bind ("click",function(){ pageClick = true; pagendex = index*9; clearInte
$('#pagination img').each(function(index){
$( this ).bind ("click",function(){
pageClick = true;
pagendex = index*9;
clearInterval(progresstracker);
$("#progressbar").progressbar( "option", "value", 0);
numSecondsPassed=0;
$('#pagination img').each(function(index){
$(this).unbind('click');
});
// alert("Page Index" + pageIndex);
rotateImage();
}).mouseover(function(){
$(this).css("cursor","pointer");
});
});
我正在解除绑定,这是可行的。但我需要在两秒钟后使用相同的变量将它们绑定回click事件,然后再次解除绑定。基本上,当它们单击解除绑定2秒钟后,再重新绑定。请重复此操作。您可以在解除绑定2秒钟后重新安排绑定。这可能意味着提取绑定/取消绑定的函数
就在我的脑海里,我在想这样的事情:
var bindAll = function () {
$("...").each(function (index, item) {
item.bind("click", function (event) {
// ... do your work
unbindAll();
});
};
var undbindAll = function () {
$("...").unbind('click');
setTimeout(bindAll, 2000);
}
现在假设您想要为所有图像解除事件绑定,我明白了吗?很抱歉,如果我遗漏了一些内容,或者这在您的情况下不起作用…我不会取消绑定,因为您可以使全局变量跟踪,如果您可以单击按钮或不这样做:
<html>
<head>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
var buttonClickable = true;
$(document).ready(function() {
$(".button").click(function() {
if (buttonClickable)
{
$("body").append($(this).text());
buttonClickable = false;
setTimeout("buttonClickable = true; alert('passed');",2000);
}
else
{
}
});
});
</script>
</head>
<body>
<div class="button">Button1</div>
<div class="button">Button2</div>
</body>
</html>
var buttonClickable=true;
$(文档).ready(函数(){
$(“.button”)。单击(函数(){
如果(按钮可点击)
{
$(“body”).append($(this.text());
buttonClickable=false;
setTimeout(“buttonClickable=true;警报('passed');”,2000);
}
其他的
{
}
});
});
按钮1
按钮2
我尝试使用超时,但在setTimeout()函数中,我使用了与上面完全相同的代码,这不起作用,因为在我看来,这就像意大利面条代码一样。有没有一个例子?我在考虑为绑定事件的函数创建一个var,并在undbinds的子函数中,使用相同的函数调用setTimeout(现在可以这样做,因为该函数有一个名称)。现在,由于您在迭代器中使用它,它可能与您编写的代码不完全相同,这是对的。这是一个很好的解决方案,比所有这些无绑定的混乱更干净。而且比每次单击两次遍历列表要快得多