【发布时间】:2015-01-04 06:52:46
【问题描述】:
我有以下代码:
var showonlyswitch = document.querySelectorAll('#showonlyswitch > optgroup > option');
for (var y = 0; y<showonlyswitch.length; y++) {
showonlyswitch[y].addEventListener('click', showonlyproducts);
}
在 Firefox 中工作,但不是在 chrome 中,也不是在 iOS safari 中。
据我所知(“caniuse”告诉我),两个浏览器都应该支持 querySelectorAll 和 addEventListener。 (iOS Safari v.8.1 和 chrome v.39.0.2171.95(64 位))
我用这个调用的函数很简单:
function showonlyproducts() {
var searchvalue = document.getElementById('showonlyswitch').value;
if (searchvalue == 1) {
window.location.href = 'pricing?close=1';
}
}
首先我认为window.location.href 会引起一些问题,但我尝试console.log 一些乱码,它在firefox 中有效,但在chrome 中无效。
我也尝试过改变
var showonlyswitch = document.querySelectorAll('#showonlyswitch > optgroup > option');
到
var showonlyswitch = document.querySelectorAll('#showonlyswitch > option');
但这(显然)在任何浏览器中都不起作用。
选择在某些 optgroup 中是分开的,并且该功能应在单击选项时触发,因为更改事件对于这种情况是不够的,因为可能选择了解决方案而没有触发更改事件(没有更改)。
正如我所说,代码在 Firefox 中运行良好,所以不应该有任何拼写错误或其他东西(通常......),chrome 的控制台中没有错误。
这里有什么让您想到的已知问题吗?
【问题讨论】:
标签: javascript ios google-chrome