我有以下 html 代码
<select>
<option class="language" langv="en" value="en">English</option>
<option class="language" langv="fr" value="fr">French</option>
</select>
和 jquery 代码,
$(".language").click(function(){
var lang = $(this).attr("langv");
switch(lang){
case "en":
window.location.href = "index.php";
break;
case "fr":
window.location.href = "fr/";
break;
default:
// code
break;
}
});
上面的代码在 Firefox 和 IE 中完美运行,但在 Chrome 中不起作用。
你能帮我一下吗?我正在使用 jquery-1.10.2。
最佳答案
您正在寻找change
事件而不是click
所以,我的建议如下。
将 HTML 更改为:
<select class="language">
<option langv="en" value="en">English</option>
<option langv="fr" value="fr">French</option>
</select>
并将你的 jQuery 更改为:
$(".language").change(function(){
var lang = $(this).val();
switch(lang){
case "en":
window.location.href = "index.php";
break;
case "fr":
window.location.href = "fr/";
break;
default:
// code
break;
}
});
<强> DEMO
如果您使用自定义属性,我建议使用 HTML 5 data-*
属性。您可以看一下 John Resig 关于它们的文章 over here
关于jquery - 事件不适用于 jQuery 和 Chrome 选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20612564/