jquery - 事件不适用于 jQuery 和 Chrome 选择选项

标签 jquery google-chrome

我有以下 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/

相关文章:

javascript - 小型自定义所见即所得编辑器

javascript - 改变jquery的Supersized插件的高度和宽度

.net - 如何将匿名字符串数组传递给 JavaScript 函数?

android - 为什么移动版 Chrome 中的段落文本会缩小?

javascript - 使用 remote-shell-port 运行 chrome 会使 console.log 停止工作

google-chrome - 带有 CSS 转换的圆形缩放动画 Chrome 错误

php - 从大于单页的动态创建的表格 (div) 创建多页 PDF

java - 不允许加载本地资源

android - 禁用 Chrome 调试。 Cordova 5.0.0

Javascript 从 json 创建复杂的表头