1

次の jQuery は期待どおりに動作しません。画像がクリックされたときにイベントを発生させようとしているだけです。

$(document).ready(function () {
    alert("document.ready has fired");

    $("img").click(function () {
        alert("image has been clicked");
    });
});

ページが読み込まれると「document.ready has sent」というアラートが表示されるので、jQuery とカスタム .js ファイルが正しく参照されます。

本当に明らかな何かが欠けていると思いますが、何ですか?

更新: jQuery は正しいです (新しいページでは機能しますが、既存のページでは機能しません)。これは「迅速な修正」である必要があったためonclick<img>タグで使用した回避策として、何が起こったのかを調べます。しかし、皆さんの意見に感謝します。

4

3 に答える 3

1

ページの読み込み時にすべての画像が直接読み込まれない場合は、これを試すことができます

$(window).load(function () {
    alert("window.load has fired");

    $("img").click(function () {
        alert("image has been clicked");
    });
});

また

$("body").on("click", "img", function () {...
于 2012-07-04T16:13:57.427 に答える
0

私は jQuery のバインド関数を使用する傾向があります。DOM で何かが動的に変更された場合でも、jQuery の .click 関数を使用して過去に問題が発生したため、イベントが引き続き発生し、同じ問題が発生しました。

$(document).ready(function () {
    alert("document.ready has fired");

    $("img").bind('click', function () {
        alert("image has been clicked");
    });
});
于 2012-07-04T16:28:23.450 に答える
0

推測:

これを試して:

$("img").each(function(){
    $(this).click(function () {
        alert("image has been clicked");
    });
});
于 2012-07-04T16:25:05.217 に答える