javascript - $(document).on ('click' 在 Chrome 中不起作用

标签 javascript jquery html

这是我在 js fiddle 上尝试的简单代码:

<select id="test">
  <option value="">select</option>
  <option class="pid">1</option>
  <option class="pid">2</option>
  <option class="pid">3</option>
  <option class="pid">4</option>
</select>

$(function () {
    $(document).on('click', '.pid', function () {
       alert('here');
    });
});

点击http://jsfiddle.net/QRVSw/16/

最佳答案

点击事件适用于整个 select 元素,而不是单个选项。此外,最好使用 change 事件,该事件在做出选择后触发,而 click 事件则在您单击后立即触发。

此外,您不需要包装代码来为 OnReady 做好准备。通过此 on 调用,您可以将事件绑定(bind)到已经可用的文档,即使选择对象本身尚不可用。

因此,您的代码可以像这样简化(并使其工作):

$(document).on('change', '#test', function () {
   alert('here');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="test">
  <option value="">select</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

关于javascript - $(document).on ('click' 在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261921/

相关文章:

javascript - 如何从函数创建 Observable?

html - 如何使用 CSS/HTML/JAVA 制作文本幻灯片

javascript - Zurb Foundation 5 中没有 JavaScript 的情况下顶部栏是否工作?

javascript - JQuery 更改事件不是每次都会触发

javascript - 使用 DOM 创建父子元素

javascript - 如何使用 javascript 在单个页面中添加多个日历

Javascript 游戏 : How to "suspend" a while loop to wait for a user input

javascript - ng-repeat 中的 ng-class 带有 $index 选择器

Javascript:对象的 this.var 在 jQuery 方法中

javascript - 悬停功能有效时无法添加类