jQuery change()和bind(“change”)不起作用

jQuery change() and bind("change") do not work

本文关键字:change 不起作用 jQuery bind      更新时间:2023-09-26

这个问题已经被问过了,但我只停留在最基本的层面上。除了一个select标记和试图通过jquery捕捉更改事件之外,我没有在html中添加任何内容。这是我的代码:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
  $('#target').bind("change", function{
    alert('Changed');
  });
</script>
</head>
<body>
<form>
  <select id="target">
    <option value="option1" selected="selected">Option 1</option>
    <option value="option2">Option 2</option>
  </select>
</form>
</body>

甚至change()函数也不起作用。

<script>
  $('#target').change(function() {
    alert('Changed');
  });
</script>

请帮我找出我哪里做错了。在Stackoverflow上的一个类似问题中,我得到http://jsfiddle.net/78x9Q/4/作为答案。但即使是那个代码的精确复制粘贴对我来说也不起作用

附言:jQuery正在加载,我测试了它,发现它可以使用这个:

<script>
$(function() {
  alert('Changed');
});
</script>

您的代码不起作用,因为您试图在尚未构建dom时使用它。使用此:

$(document).ready(function () {
  // your code
});

然后,您的代码将在已经构建dom时运行。

这:

<script>
  $('#target').change(function() {
    alert('Changed');
  });
</script>

应该是这样的:

<script>
  $(function () {
    $('#target').change(function() {
      alert('Changed');
    });
  });
</script>

这意味着您在文档准备好之前执行绑定。

像这样使用

$(document).ready(function () {
   $('#target').change(function() {
     alert('Changed');
   });
});

您需要将jquery代码封装在文档就绪事件中

相关文章: