2011-11-18 48 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