[解決済み] jQueryのclickイベントが発生しない?
2022-02-25 06:32:23
質問
私はこれを持っています ページ そして、マップをliまでスクロールすると、以下のようなコードになります。
HTML
<ul class="play_navigation">
<li class="active"><a class="barino_story_bottom" href="#">The Story</a></li>
<li><a class="barino_video_bottom" href="#">The Video</a></li>
<li><a class="barino_gallery_bottom" href="#">The Gallery</a></li>
<li><a class="barino_equipment_bottom" href="#">The Equipment</a></li>
</ul>
マイjQuery
<script type="text/javascript">
$(document).ready(function(){
$('.play_navigation a').click(function(){
console.log("this is the click");
return false;
});
});
</script>
リンクをクリックしても何も起こりません...ソースを表示すると、そこにあることがわかります...しかし、コンソールに貼り付けると、うまく動作します...何が起こるのでしょうか?
どうすればいいですか?
このマークアップは非同期にDOMに追加されるのでしょうか?その場合は
live
ということです。
注意
.live
は非推奨とされ、jQueryの最新バージョンでは削除されました(これには理由があります)。使い方や解決策については、以下のイベントデレゲーション戦略を参照してください。
<script>
$(document).ready(function(){
$('.play_navigation a').live('click', function(){
console.log("this is the click");
return false;
});
});
</script>
スクリプトブロックを再実行し、動作させることができたということは、何らかの理由でバインド時に要素が利用できなかったか、バインドがある時点で削除されたのだと思います。もしバインド時に要素がなかったのであれば、バインド時に
live
(できればイベントデリゲーションも)。そうでない場合は、バインディングを削除するようなことがないか、コードをチェックする必要があります。
jQuery 1.7 のイベントデリゲーションを使っています。
$(function () {
$('.play_navigation').on('click', 'a', function (e) {
console.log('this is the click');
e.preventDefault();
});
});
また、ドキュメントの準備が整う前にイベントをバインドしたいと感じる場合は、イベントをドキュメントに委譲することもできます (この場合、jQuery はすべてのクリックイベントを調べて、要素が適切なセレクタに一致するかどうかを判断することにも注意してください)。
$(document).on('click', '.play_navigation a', function (e) {
console.log('this is the click');
e.preventDefault();
});
関連
-
[解決済み] jQueryでページスクロールをプログラム的に無効にする方法
-
[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bootstrap - Uncaught TypeError: 未定義のプロパティ 'fn' を読み取れない。
-
[解決済み] jQueryでリンクを無効化する
-
[解決済み] クラス別のjquery onclick
-
[解決済み] JWplayer 再生クリックでフルスクリーン表示
-
[解決済み] なぜbloodhound.get()は未定義を返すのですか?
-
[解決済み] 右から検索トグル
-
[解決済み] jQueryの各ループから抜け出すには?
-
[解決済み] 3桁ごとの数字にカンマを追加
-
[解決済み] jQueryでborder-bottomの色を変更する?
-
[解決済み] jQuery動的セレクタ