2011-11-18 66 views
-4

下面的代码的其他部分不起作用,即点击没有启用。Javascript/jquery click enable

if 

    $("#section1").click(function(event){ 
     return false; 
    }); 

else 

    $("#section1").click(function(event){ 
     return true; 
    }); 

所以基本上,我想通过一定的DIV部分,这是工作的罚款,但在返回的点击功能回到它不工作取下点击功能。有什么建议么?

+4

你的代码不完整。你错过了'if'的条件陈述。 – zzzzBov

+0

@zzzzBov sudo code brah – locrizak

+0

@locrizak漂亮的垃圾伪代码,如果它甚至没有提到什么条件应该;) –

回答

2

您可能想要移除click事件而不是添加另一个返回true的事件。

尝试(而不是其他位):

$('#section1').unbind('click'); 
+0

正确,这点详细阐述了这一点:http://stackoverflow.com/questions/209029/best-way-to-remove-an-event-handler -in-的jQuery – kasimir

1

您需要取消绑定click事件。原因在于如果说这段代码被调用了3次,即将3个事件处理程序放在#selection1上,并且每次点击这三个函数都被调用。

if 
    $("#section1").unbind('click'); 

else 
    $("#section1").bind('click', function(event){ 
     return true; 
    });
1
$("#section1").click(function(event){ 
     return false; 
    }); 

将禁止其功能

$("#section1").unbind('click') 

将去除附在click事件,并让它做它的工作

1
$("#section1").click(function(event){ 
    return false; 
}); 

这将发生禁用click事件,而true继续点击事件,我不确定你想实现什么,但是你可以使用bind附加事件,如下所示:

$("#section1").bind('click', function(){ 
    alert('You clicked on it'); 
}); 

但是要删除点击事件,您可以使用相反的事件; unbind