首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery change()和bind("change")不起作用

jQuery change()和bind("change")不起作用
EN

Stack Overflow用户
提问于 2012-09-01 12:19:22
回答 4查看 27.8K关注 0票数 2

这个问题已经被问过了,但我被困在了最基本的层面上。我没有在html中添加任何东西,只添加了一个select标记,并试图通过jquery捕获更改事件。下面是我的代码:

代码语言:javascript
复制
<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()函数也不起作用。

代码语言:javascript
复制
<script>
  $('#target').change(function() {
    alert('Changed');
  });
</script>

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

附注: jQuery正在加载,因为我测试了它,并发现使用以下代码可以正常工作:

代码语言:javascript
复制
<script>
$(function() {
  alert('Changed');
});
</script>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-01 12:22:23

你的代码不能工作,因为你试图在dom还没有构建的时候使用它。使用以下命令:

代码语言:javascript
复制
$(document).ready(function () {
  // your code
});

然后,您的代码将在dom构建完成后运行。

票数 7
EN

Stack Overflow用户

发布于 2012-09-01 12:21:54

这一点:

代码语言:javascript
复制
<script>
  $('#target').change(function() {
    alert('Changed');
  });
</script>

应该是这样的:

代码语言:javascript
复制
<script>
  $(function () {
    $('#target').change(function() {
      alert('Changed');
    });
  });
</script>

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

票数 4
EN

Stack Overflow用户

发布于 2012-09-01 12:23:40

像这样使用它

代码语言:javascript
复制
$(document).ready(function () {
   $('#target').change(function() {
     alert('Changed');
   });
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12224852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档