javascript - jQuery:事件监听器没有被触发

标签 javascript jquery

我正在尝试使用 Jquery 将事件监听器添加到 html 元素。

test.html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script src="test.js"></script>

  <body>
      <select id="options" >                                                                                                                   
         <option value="volvo">Volvo</option>                                                                                                  
         <option value="saab">Saab</option>
         <option value="mercedes">Mercedes</option>
         <option value="audi">Audi</option>
      </select>
  </body>

test.js

alert("outside function");
$('#options').change(function() {

    alert("inside function");
    var x = $('#options option:selected').text();
    alert(x);
});

现在,当我打开 file:///home/ronnie/check/popup.html 时,如果我选择任何选项,我的 jquery 函数不会被触发,我只会得到 外部函数弹出窗口。

我在 jsfiddle 中尝试了相同的代码,它工作得非常好 http://jsfiddle.net/Vj9LK/ .

所以,我的问题是为什么它在 chromium 中不起作用。

最佳答案

您正在选择$("#options")test.js ,它在 <script> 中定义。 <body> 之前的标签被 build 。 jQuery 有一个函数可以等待一切都构建完毕,以便您可以选择元素:

$(document).ready(function() {
  // contents of test.js
});

关于javascript - jQuery:事件监听器没有被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14081079/

相关文章:

javascript - 将 <p> 转换为 <p> 并用于格式化 html

javascript - Bootstrap 按钮悬停问题

javascript - rxjs 有条件地先于另一个可观察值触发一个可观察值

javascript - 文本和图像高度不匹配

javascript - 使用 angularjs 动态更改变量值

javascript - 如何从包含多个变量的 JSON 中访问数据? (在带有express和jquery的node.js中)

javascript - 在 jQuery 中使用 remove/hide 而不是使用 split 和 join

javascript - 如何使用jquery在图表中显示轴?

javascript - 如何使用 jquery 从其他文件添加类?

jquery - 使用 KnockoutJS 映射插件和 MVC 3 创建基本网格