【问题标题】:Using click event while button is disabled禁用按钮时使用单击事件
【发布时间】:2013-05-27 10:32:09
【问题描述】:

我需要在按钮被禁用时检查点击,这可能吗?或者有没有其他办法?

HTML:

<form id="form">
  <input type="submit" id="submit" value="Submit" />
</form>

JS:

$("#form").submit(function (e) {
    e.preventDefault();
    return false;
    $("#submit").on("click", function () {
        alert("Bla");
    });
});

JS 小提琴:http://jsfiddle.net/hjYeR/1/

【问题讨论】:

  • 这是您需要的吗? jsfiddle.net/hjYeR/2
  • 你能在 preventDefault 之前运行任何你想运行的代码并返回 false 吗?
  • 不要给表单中的提交按钮一个ID或名称“提交”,它会掩盖表单的提交方法(即form.submit将引用按钮,而不是方法)。跨度>
  • 谢谢@karthikr 这几乎可以工作我只需要它在第一次工作而不是第二次点击

标签: javascript jquery


【解决方案1】:

当您使用preventDefault()时,无需使用return false

但是,函数中return 语句之后的任何代码都不会执行。

另外一个事件里面也不需要附加一个事件,单独写:

$("#form").submit(function (e) {
    e.preventDefault();
});

$("#submit").on("click", function () {
    alert("Bla");
});

jsFiddle Demo

【讨论】:

    【解决方案2】:

    在您return false; 之后,您的函数的其余部分将不会运行。您可以在返回 false 之前绑定单击事件,它应该可以工作。

    【讨论】:

      【解决方案3】:

      return 语句是函数的终点,代码不会在此之前进行。

      您可以做的只是从submit 处理程序本身中删除click 事件处理程序。

      $("#form").submit(function (e) {
      
          return false; //e.preventDefault(); is not needed when used return false;
      
      });
      
      $("#submit").on("click", function () {
          alert("Bla");
      });
      

      【讨论】:

        猜你喜欢
        • 2016-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多