jQuery事件处理程序不起作用

时间:2010-03-05 21:44:01

标签: javascript jquery

我可以将jquery事件绑定到此元素,如:

<script type="text/javascript">
$('#new_key').ready(function() {
 alert('Handler for .submit() called.');
 return false;
});

按预期工作

但如果我这样做:

<script type="text/javascript">
$('#new_key').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});
它不起作用。有谁知道为什么?我错过了什么?

2 个答案:

答案 0 :(得分:7)

你需要这样做:

$(function() { //equal to $(document).ready() {
  $('#new_key').submit(function() {
    alert('Handler for .submit() called.');
    return false;
  });
});

当您调用时,表单可能还没有准备好绑定,因此您需要将其包装起来,以便在文档准备就绪时执行并装配处理程序。

答案 1 :(得分:1)

$.ready(),如果使用的话,应该在文档上用来表明DOM已经完全加载。

$(document).ready(function(){

  $("#new_key").submit(function(e){
   e.preventDefault();
   alert("Submit called!");
  });

});​

在线演示:http://jsbin.com/ojaqo3/edit