从父页面触发的点击事件在IE中不起作用

时间:2017-03-31 14:15:05

标签: javascript jquery

我正在使用页面上的过滤器来显示不同的产品。我试图这样做,以便当您从外部页面单击按钮时,它导航到产品页面并自动单击“有机物过滤器”复选框,然后显示有机项目。此代码适用于除IE和EDGE之外的所有浏览器。什么想法可能是错的?它似乎单击了有机物复选框,但它实际上没有单击IE和EDGE的提交按钮。

**更新:如果我在window.load函数之后发出警报,它会起作用。我认为这是时间问题或其他问题。有人有什么建议吗?

//force organic filter if coming from organics article
    $(window).load(function(){
    var organicURL = document.referrer;
    if (organicURL === "http://www.sampleurl.com") {
       $('#organicFilter').trigger('click');
       if ($('#organicFilter').is(':checked')) {
          $('#submitFilter').trigger('click');
       }
    }
    });

2 个答案:

答案 0 :(得分:0)

为了触发click事件,你应该使用jQuery .click()函数。另外,请看一下:jQuery.trigger('click') not working 和这里 : Trigger click event not working in IE10

答案 1 :(得分:0)

我通过添加以下内容修复了它:

$(window).load(function(){
var organicURL = document.referrer;
if (organicURL === "http://www.centowine.com/articles/2017/cento_organics.php") {
   $('#organicFilter').trigger('click');
   if ($('#organicFilter').is(':checked')) {
     setTimeout(function(){ $('#submitFilter').click()}, 500);
   }  
}
});

只需添加超时即可加载太快。在加载文档之前。