28

誰かが私がこれを理解するのを手伝ってくれる?

最新(または新しい)バージョンのjQueryを使用すると、以下の小さなスクリプトが正常に機能します。ただし、古いバージョンのjQueryを使用すると、スクリプトにon関数が存在しないと表示されます。

古いバージョンのjQueryでは機​​能しない私のスクリプトは次のとおりです。

$(document).ready(function () {
    $(".theImage").on("click", function(){
        // In the event clicked, find image, fade slowly to .01 opacity
        $(this).find("img").fadeTo("slow", .01).end()
        // Then, of siblings, find all images and fade slowly to 100% opacity
               .siblings().find("img").fadeTo("slow", 1);           
    })
})

どんな種類の助けもありがたいです。

4

4 に答える 4

75

jQuery 1.7でのみ導入されたため、bindの代わりに使用する必要があります。onon

$(document).ready(function () {
    $(".theImage").bind("click", function(){
        // In the event clicked, find image, fade slowly to .01 opacity
        $(this).find("img").fadeTo("slow", .01).end()
        // Then, of siblings, find all images and fade slowly to 100% opacity
        .siblings().find("img").fadeTo("slow", 1);           
    })
})
于 2012-06-06T10:25:00.190 に答える
3

delegate()たとえば、次のように使用できます。

$("table").delegate("td", "click", function() {
  $(this).toggleClass("chosen");
});

これは、 を使用して記述された次のコードと同等ですon()

$("table").on("click", "td", function() {
  $(this).toggleClass("chosen");
});
于 2013-03-14T03:46:47.760 に答える
1

を使用するには、jQuery バージョン 1.7 以降を使用する必要がありますon()bind()廃止されました。

于 2013-02-27T15:43:48.520 に答える
0

on関数をbind次のように変更します。

.children().on("click",function()

.children().bind("click",function()

于 2013-04-21T15:19:50.807 に答える