【问题标题】:Link in drop down select not working IE8/9 to open drop down select link, alert works下拉选择中的链接不起作用 IE8/9 打开下拉选择链接,警报有效
【发布时间】:2013-10-23 22:05:17
【问题描述】:

看来 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.");
    }
})

【问题讨论】:

  • 什么样的悲伤?发生什么了?您收到任何错误消息吗?
  • 在 IE 中对我来说很好
  • @epascarello 嗯,我似乎无法让它在 ie8 或 9 中工作。实际网站是 www.dangfoods.com/shop.php
  • @Guffa,它无法识别 URL 并引发警报,就好像下拉菜单中没有选择一样。
  • 页面出现JS错误SCRIPT5007: Unable to get property 'stopPropagation' of undefined or null reference presspage.js, line 20 character 3修复

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


【解决方案1】:

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

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

或改变

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

var url = $(this)...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2018-08-06
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 2019-07-12
    相关资源
    最近更新 更多