2013-05-26 98 views
2

爲什麼下面的代碼不能進入新的頁面?jquery爲什麼body click不起作用?

$(document).ready(function(){ 
    $(document.body).click(function(){ 
     window.location.href="who.html" ; 
    }); 
}); 

我看不出有任何直接的錯誤,我已經試過$(機身)$(「主體」)和$(「#體」),每當我點擊我的頁面我的身體我不會去下一頁。

+3

你在控制檯中得到任何警告?你確定ready函數正在發射嗎?加載jQuery之後,你是否包含了這個代碼? – Dave

+0

我把你的代碼複製到了控制檯,點擊了這個頁面的主體並被重定向到了'who.html'(由於某種原因重定向到這裏)。 – Prinzhorn

+0

我已經加載jquery的加載後,我得到了一個控制檯消息,告訴我,準備好的功能正在初始化 –

回答

11

檢查這個JSFiddle出,你可以看到,如果你點擊「測試」它工作得很好,否則它不工作。爲什麼?因爲body都是裏面有一些內容,而不是整個頁面(所以如果正文爲空,click事件將永遠不會被觸發)。如果您希望整個頁面在點擊後重定向,則必須綁定$(document)

$(document).click(function() { 
    window.location.href = "who.html"; 
}); 
+1

謝謝你這個修復它,我不知道你必須將它綁定到文件,謝謝快速回復! –

+0

請注意,在谷歌上找到這個,但正在尋找一個香草JS解決方案的人:一個等效的代碼片段將是'document.addEventListener(「click」,click);'(與'body.addEventListener()有同樣的問題' ) –

0

你可以簡單地這樣做:

$(document).ready(function(){ 
    $(document).click(function(){ 
     console.log('Document is clicked!'); 
     window.location.href="who.html" ; 
    }); 
});