ZoomyおよびjmpressプラグインでjQuery 1.7.2を使用しています。また、initializr.com からダウンロードしたボイラープレート + ブートストラップを使用しています。
写真の中からキャラクターを見つけなければならないときに、[Waldo/Wally] のような「ゲーム」を作成しようとしています。それぞれの写真には、見つけるべき異なるキャラクターがあります。
jmpress をプレゼンテーション プラグインとして使用して、キャラクターが見つかるたびにある写真から別の写真に移動しています。jmpress は ajax を介してコンテンツをロードします (そして、その動作が必要です)。これは、Web のかなり高速なロードが必要なためです。
問題:ロードされたコンテンツ内に存在する要素の 1 つで .on("click") イベントがキャッチされません。
例として、この文字の 1 つを使用して問題を説明します (コードの一部を取り上げただけです)。
index.html にキャラクターをロードするための div がいくつかあります。ナース キャラクターを使用します。
<div id="nurse" class="step container" data-src="women/nurse.html" data-x="7500">
Loading...
</div>
jmpress は、ユーザーがその div (ステップ) の近くにいるときに、ajax を介して data-src (women/nurse.html) をロードします。それは素晴らしい負荷です。
これは、nurser.html のコードです。
<script type="text/javascript">
new Image().src = "img/nurse_big.jpg";
</script>
<div class="descripcion">
<p>Bla, bla, bla.</p>
</div>
<div class="imagen">
<a href="img/nurse_big.jpg" class="zoom"> <img src="img/nurse.jpg" alt="Find the nurse" /> </a>
</div>
ご覧のとおり、#nurse div (.step クラスを持つ) 内に 2 つの div がロードされています。
クリックイベントをキャッチしようとすると、js/script.js ファイルに次のコードがあります。
$(".step").on("click", function(event){
console.log(event.target);
});
また、何が起こるかを確認するために「body」タグを試しています
$("body").on("click", function(event){
console.log(event.target);
});
メッセージが表示されている間にコンソールを確認すると (div.descripcion)、イベントをキャッチして出力します。しかし、div.descripcion が削除されて画像が表示された後、表示されません。その div.imagen またはその中の要素でさえ存在しない場合のように。クリック イベントはキャッチされません。mousemove イベントをキャッチしようとしましたが、そうです。
クリックをキャッチしないのはなぜですか? 何か案が?
動作中のバージョンを見ることができます: [削除済み]
そして動作しないバージョン: [削除]
更新: .on("click") を使用すると機能しないことを忘れていました。しかし、たとえば .on("mousemove") を使用すると、機能します。それが奇妙な部分です。.on() は機能していますが、クリック イベントでは機能していません。
更新 2:ライブ サンプルのリンクを削除しました。開発バージョンが含まれているためです。が公開されたら最終作品へのリンクを公開します。お時間を割いていただき、ありがとうございました。特に@Esailjaに答えを教えてください。