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;
});