超級奇怪的問題在這裏。我無法讓jQuery在.js文件內綁定除文檔之外的任何選擇器。無法將jQuery選擇器綁定到任何文檔 - Rails 3.2
示例代碼:
$(document).click(function() {
$("#nav_primary").empty();
});
當我點擊任何地方,在nav_primary DIV清空,符合市場預期,但是,當我使用此代碼:
$("div").click(function() {
$("#nav_primary").empty();
});
什麼,當我點擊情況。除非我將它輸入到控制檯中。當我將上面的代碼粘貼到我的Firebug控制檯中時,它會按預期加載,並在任何地方點擊按預期清空div。
我瞭解JavaScript和jQuery都在運行,因爲我有這個在我的JS和它記錄預期:
console.log("js is running");
if (jQuery) {console.log('jQuery is loaded!');}
我聽說有與原型衝突,但我不認爲我正在運行它。這裏是我的頭:
<head>
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/portfolio.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<link href="/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
<meta content="authenticity_token" name="csrf-param" />
<meta content="(token here)" name="csrf-token" />
<!--[if !IE 7]>
<style type="text/css"> #main {display:table;height:100%} </style>
<![endif]-->
<!--[if lt IE 9]>
<script src='//html5shiv.googlecode.com/svn/trunk/html5.js'></script>
<![endif]-->
</head>
就是這樣。 18個月的jQuery工作,我所做的一切都是修改和維護其他人的功能;我從來沒有用這個框架開始自己的環境。 (此外,docs.jquery.com目前處於脫機狀態) – user1279629 2012-03-22 04:28:18
很高興這是我的回答對您有幫助。之所以不起作用是因爲你在頭部定義了你的函數,但是當jquery試圖找到'div'元素時,它找不到任何東西,因爲瀏覽器的解析器仍然在頭部中,它必須解析到'body'或'html'標籤的第一個末尾 – Rezigned 2012-03-22 04:35:07