为什么选择":按钮"不适用于点击事件?

时间:2012-07-09 16:26:58

标签: javascript jquery

您好我正在使用Jquery选择器“:button”但不能与click事件结合使用....

$(":button").click(function () {
   alert("click");
   return false;
});

3 个答案:

答案 0 :(得分:4)

确保将代码放在jQuery文档就绪函数中:

$(function(){

   /** YOUR CODE **/
   $(":button").click(function () {
       alert("click");
       return false;
   });

});

但正如我从your comments on the OP看到的那样,你实际上可能想要这样做:

$(function(){

   /** YOUR CODE **/
   $(":submit").click(function () {
       alert("click");
       return false;
   });

});

答案 1 :(得分:3)

您可能遇到以下问题;

  • 可能忘记在代码中添加jQuery库

  • 可能是你忘了$(document).ready()包装,即

    $(document).ready(function() {
      // place all jquery code here
      $(':button').on('click', function() {
         alert('click');
         return false;
      });
    });
    
  • :button可以动态添加到DOM,即页面加载后

    在这种情况下你应该尝试:

    $('body').on('click', ':button', function() {
      alert('Click');
      return false;
    });
    

根据您的上述评论

你可以试试这个:

$('input[type=submit]').on('click', function() {
   alert('click');
   return false;
});

$('input[type=submit]').on('click', function(e) {
   alert('click');
   e.preventDefault();
});

答案 2 :(得分:2)

jQuery的:button选择器等同于$('button, input[type="button"]')。因此,它与您的控件不匹配:<input type="submit" value="Create" />

请尝试使用$('input[type="submit"]')(您可以使用$(':submit'),但[type="submit"]可能会更快。)