链接在下拉选择不工作IE8 / 9打开下拉选择链接,警报工作

时间:2013-10-23 22:05:18

标签: javascript jquery internet-explorer-8 internet-explorer-9 window.open

似乎IE8和9让我感到悲伤,我想不出其他选择。

以下适用于Chrome,FF和Safari。

有两个下拉列表,每个下拉列表包含两个链接。每个下拉列表都有自己相应的“立即购买”按钮。当进行下拉选择时,将通过jquery加载URL,当用户单击“立即购买”按钮时,将打开一个新窗口以显示相应的下拉选项。

在IE8 / 9中,当用户选择下拉菜单并单击立即购买按钮时,它会抛出未进行选择的警报。

See JSFiddle Demo

Jquery的:

    $(".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.");
    }
})

1 个答案:

答案 0 :(得分:1)

问题在于e.target与其他浏览器不同。所以父母是一个不同的元素,因为它不是孩子,所以无法找到属性。简单的调试将显示它。

使用.closest(".someClass")获取您所追求的元素而不是.parent()

或更改

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

var url = $(this)...