0

IE8 と 9 が私に悲しみを与えているようで、代替案が思い浮かびません。

以下は Chrome、FF、Safari で動作します。

2 つのドロップダウンがあり、それぞれに 2 つのリンクが含まれています。各ドロップダウンには、対応する「今すぐ購入」ボタンがあります。ドロップダウン選択が行われると、URL が jquery を介して読み込まれ、ユーザーが [今すぐ購入] ボタンをクリックすると、対応するドロップダウン選択の新しいウィンドウが開きます。

IE8/9 では、ユーザーがドロップダウンを選択して [今すぐ購入] ボタンをクリックすると、選択されていないというアラートがスローされます。

JSFiddleデモを見る

Jクエリ:

    $(".buyNow").on("click", function (e) {
     var url = $(e.target).parent().children().find("[data-active]").data("val");
    if (url) {
        window.open(url, "_blank");
    } else {
        window.alert("Please select a bag size.");
    }
})
4

1 に答える 1

1

問題は、e.target が他のブラウザーと異なるという事実です。したがって、親は別の要素であり、子ではないため属性を見つけることができません。簡単なデバッグで表示されます。

.closest(".someClass")の代わりに目的の要素を取得するために使用します.parent()

または変更

var url = $(e.target)...

var url = $(this)...
于 2013-10-23T22:34:27.253 に答える