我正在使用页面上的过滤器来显示不同的产品。我试图这样做,以便当您从外部页面单击按钮时,它导航到产品页面并自动单击“有机物过滤器”复选框,然后显示有机项目。此代码适用于除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');
}
}
});
答案 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);
}
}
});
只需添加超时即可加载太快。在加载文档之前。