第二次禁用按钮不起作用

时间:2014-02-04 01:09:25

标签: javascript jquery twitter-bootstrap

我的页面上有一个带有各种按钮的工具栏。当单击其中一个按钮时,使用jQuery的prop('disabled',true)函数禁用该按钮,并在页面上显示子窗体。

在子窗体内是取消按钮。单击取消按钮会破坏子窗体并使用prop('disabled',false)重新启用工具栏中的按钮。到目前为止,一切正常。但是,只要再次单击相同的工具栏按钮,它就不再被禁用。

我已经尝试过使用jQuery prop函数,attr或简单地.disabled = true。如果按钮已经经过一个禁用循环然后启用,那么似乎没有任何作用。

有什么想法吗?

这是我的禁用/启用功能。

  /**
   * Disables form elements.
   */
  $.fn.disable = function(enableSiblings) {
    this.each(function() {
      // Disables a Bootstrap button and declaratively enables any sibling buttons
      var btn = $(this).hasClass('btn') ? this : $(this).parent('.btn').get(0);
      if(btn) {
        $(btn).prop('disabled', true);
        if(enableSiblings === undefined || enableSiblings) {
          $(btn).siblings('.btn').enable();
        }
      }

      // Disables a textarea
      if($(this).is('textarea')) {
        $(this).prop('disabled', true);
      }
    });
  };

  /**
   * Enables form elements.
   */
  $.fn.enable = function() {
    this.each(function() {
      // Enables a Bootstrap button
      var btn = $(this).hasClass('btn') ? this : $(this).parent('.btn').get(0);
      if(btn) {
        $(btn).prop('disabled', false);
      }

      // Enables a textarea
      if($(this).is('textarea')) {
        $(this).prop('disabled', false);
      }
    });
  };

单击取消按钮时,我的取消事件仅调用上面的启用功能。

0 个答案:

没有答案