2012-03-24 28 views
1

我有一個相當大的腳本,我試圖找出爲什麼

$(document).on("click", function(event) { alert("hello"); } 

不點火。有沒有更簡單的方法來找出爲什麼這不起作用,而不是在整個腳本中刪除所有其他點擊綁定?

此外,我聽說名稱空間是保持事件綁定限制某個插件的好方法。

如果是這樣,我將不得不爲某些事件組設置事件綁定?我只是用「click.thisGroup」替換「click」?

感謝您的一些意見!

+0

此外,請檢查您正在使用的jQuery版本。我昨天試過.on(),結果我不得不使用.live()hehe – chepe263 2012-03-25 03:20:57

+0

是的,我還在用on()學習我的方法,並依靠偶爾的live()... – frequent 2012-03-25 09:48:49

回答

1

如果沒有一個完整的代碼,我只能猜測一些可能性:

  1. 語法錯誤;你是不是在你的代碼示例關閉你的處理函數定義

  2. 你點擊該元素具有stopPropagation()stopImmediatePropagation()調用它防止起泡記錄從而防止您在連接到記錄

+0

感謝編輯亞光:) – 2012-03-24 16:33:04

+0

好的。我的控制檯顯示沒有錯誤,但stopPropagation可能是一個原因。 – frequent 2012-03-24 16:33:25

+1

好的。把它釘在一個我正在使用的插件上。讓我們看看它停止傳播。感謝您的幫助! – frequent 2012-03-24 16:44:18

0

您事件需要指定一個元素來點擊。

$(document).on("click", "someElement", function(event) { alert("hello"); } 
+2

這不是事實。選擇器參數是可選的。在jquery 1.7之前http://api.jquery.com/on/ – 2012-03-24 16:30:39

+0

。 $(document).bind('click',function(){很好地工作。我很確定這也適用於沒有指定元素。另外我需要所有點擊我的例程 – frequent 2012-03-24 16:31:15

+0

哦,對不起,我認爲你試圖集中在一個單一的元素。沒有想到有充分的文件'捕獲的任何理由,但我認爲這是一個有效的場景。 – Terry 2012-03-24 21:37:29

相關問題