Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在chrome中为选项选择不执行onclick的元素_Javascript_Html_Google Chrome - Fatal编程技术网

Javascript 在chrome中为选项选择不执行onclick的元素

Javascript 在chrome中为选项选择不执行onclick的元素,javascript,html,google-chrome,Javascript,Html,Google Chrome,这是我的密码: <select style="color:#000000"> <option onclick="window.location.href='/state/FL/1/city/asc'">Sort by City ASC</option> <option onclick="window.location.href='/state/FL/1/city/desc'">Sort by City DESC</option> <

这是我的密码:

<select style="color:#000000">
<option onclick="window.location.href='/state/FL/1/city/asc'">Sort by City ASC</option>
<option onclick="window.location.href='/state/FL/1/city/desc'">Sort by City DESC</option>
<option onclick="window.location.href='/state/FL/1/name/asc'">Sort by Name ASC</option>
<option onclick="window.location.href='/state/FL/1/name/desc'">Sort by Name DESC</option>
<option onclick="window.location.href='/state/FL/1/dist/asc'">Sort by Distance Nearest</option>
<option onclick="window.location.href='/state/FL/1/dist/desc'">Sort by Distance Furthest</option>

按城市ASC排序
按城市名称排序
按名称排序ASC
按名称排序描述
按最近距离排序
按最远距离排序

您无法看到“结束选择”标记,但它在那里。当我使用chrome点击一个选项
时,它不会改变页面,但它适用于firefox


不太清楚如何解决此问题。

选项在某些浏览器中没有鼠标事件,这就是为什么您不应该在选项上使用
onclick
处理程序,而应该在选择菜单上使用
onchange
处理程序的原因

使用适当的事件处理程序

<select id="mySelect">
    <option value="/state/FL/1/city/asc">Sort by City ASC</option>
    <option value="/state/FL/1/city/desc">Sort by City DESC</option>
    <option value="/state/FL/1/name/asc">Sort by Name ASC</option>
    <option value="/state/FL/1/name/desc">Sort by Name DESC</option>
    <option value="/state/FL/1/dist/asc">Sort by Distance Nearest</option>
    <option value="/state/FL/1/dist/desc">Sort by Distance Furthest</option>
</select>

选项上的Onclick事件非常不一致,因此您应该在
change
上设置一个事件,相反,浏览器支持该事件。此外,应避免使用内联javascript,因此请为select指定一个
id
,并执行以下操作:

<select id="selectId" style="color:#000000">
<option value="/state/FL/1/city/asc">Sort by City ASC</option>
<option value="/state/FL/1/city/desc">Sort by City DESC</option>
<option value="/state/FL/1/name/asc">Sort by Name ASC</option>
<option value="/state/FL/1/name/desc">Sort by Name DESC</option>
<option value="/state/FL/1/dist/asc">Sort by Distance Nearest</option>
<option value="/state/FL/1/dist/desc">Sort by Distance Furthest</option>
</select>
jQuery示例:

$('#选择')。更改(函数(){
var currentHref=$(this).find('option:selected').data('href');
window.location.href=currentHref;
})

按城市ASC排序
按城市名称排序
按名称排序ASC
按名称排序描述
按最近距离排序
按最远距离排序

很好的解决方案!谢谢
<select id="selectId" style="color:#000000">
<option value="/state/FL/1/city/asc">Sort by City ASC</option>
<option value="/state/FL/1/city/desc">Sort by City DESC</option>
<option value="/state/FL/1/name/asc">Sort by Name ASC</option>
<option value="/state/FL/1/name/desc">Sort by Name DESC</option>
<option value="/state/FL/1/dist/asc">Sort by Distance Nearest</option>
<option value="/state/FL/1/dist/desc">Sort by Distance Furthest</option>
</select>
document.getElementById('selectID').addEventListener('change', e => {
    window.location.href = e.target.value;
});