ここには非常に奇妙な問題があります。 jQueryを使用して、.jsファイル内のドキュメント以外のセレクタをバインドするのに問題があります。jQueryセレクタをドキュメント以外のものにバインドできません - Rails 3.2
コード例:私は任意の場所をクリックしたときに、私はこのコードを使用する場合
$(document).click(function() {
$("#nav_primary").empty();
});
は、nav_primary divの空には、予想通り、しかし、私がクリックしたときに
$("div").click(function() {
$("#nav_primary").empty();
});
何も起こりません。私はそれを私のコンソールに入れない限り。上記のコードをFirebugコンソールに貼り付けると、期待どおりにロードされ、どこかをクリックするとdivを空にして期待通りに空になります。
私は私のjsでこれを持っていると予想されるとして、それがログに記録としてJavaScriptとjQueryの両方、実行されている知っている:私は試作品との競合があると聞きましたが、私は私は思いません
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>
それだけです。 jQueryを使って18ヶ月間作業していますが、他の人の機能を変更して維持することだけです。私はこれまでにこのフレームワークで自分の環境を始めたことはありません。 (また、docs.jquery.comは現時点でオフラインです) – user1279629
私の答えはあなたを助けてくれてうれしいです。それがうまくいかない理由は、頭に関数を定義したためですが、jqueryが 'div'要素を見つけようとすると、ブラウザーのパーサが' head'セクションにまだ解析されているので何も見つかりません'body'や' html'タグの末尾に最初に – Rezigned