2010-06-23 84 views
4

我想知道是否有可能(以及如何)停止單擊事件的jQuery腳本。停止一個jQuery腳本

我加載它的點擊這樣

$("#id_button").click(function() { $.getScript("script.js"); alert ("The script is activated"); });

,我想阻止它以同樣的方式。

回答

1

我不確定你是否在爲這一件事做出選擇。

可以綁定和取消綁定使用jQuery事件一樣

$("#id_button").bind("click", function(){ 
}); 

和取消綁定

$("#id_button").unbind("click"); 
+0

嗯,我試過了,但它didn'work。我之前沒做過綁定,但在規範中,似乎我們可以在沒有綁定的情況下使用解除綁定。 我做的是: $(「tr」)。click(highlight); (「#stop_script」)。click(function(){{「tr」)。unbind(「click」); }); 但它不會改變任何東西 – Johanna 2010-06-23 08:21:54

0

如果這是關於js文件的動態「退出」,你可以申請Jonathan Sampson's approach.

基本上「script.js」可以被封裝在一個對象中,並在「點擊」時動態加載。在下一個單擊事件中,您可以選擇不同的按鈕單擊或事件,您可以將該對象設置爲null,從而刪除該腳本的功能。

編輯: Rebecca Murphy's slides on code organization.

+0

這似乎是一個好主意,但你會怎麼做? – Johanna 2010-06-23 08:24:28

+0

我假設script.js有一些你在事件觸發後使用的方法。你可以把這些方法放到一個對象中,然後實例化onclick對象,而不是加載* .js文件。然後,要刪除它,只需將該對象設置爲null。當然,我比我自己的腦海裏借來的更多,麗貝卡墨菲對這個問題有很好的評論。她專注於代碼組織,但將代碼移動到「對象」中可讓您獲得更多的權力,並可能使您查看的內容更容易一些。 – 2010-06-23 17:05:50