jQuery模糊不能处理页面加载

时间:2016-08-24 12:10:22

标签: jquery

我有点jQuery ......

$('.group-guest-list input.form-text').blur(function() {
  if(!$.trim(this.value).length) {
    $(this).closest('div').addClass('disabled');
  } else {
    $(this).closest('div').removeClass('disabled');
  }
});

检查文本输入是否为空,如果是,则添加“禁用”类。

仅当您在字段内单击,然后再次单击时,此选项才有效。在第一页加载时,类不在那里。我需要它对模糊做出反应,这样当字段被清空时它就会被禁用。

有人可以帮助在页面加载和焦点上运行吗?感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用.on()使用绑定多个事件,并使用.trigger()在页面加载时执行事件处理程序。

$('.group-guest-list input.form-text').on('blur focus', function() {
  $(this).closest('div').toggleClass('disabled', !$.trim(this.value).length);
}).trigger('blur');

此外,您可以使用.toggleClass( className, state )

答案 1 :(得分:0)

尝试检查是否已加载页面:

$(document).ready(function() {

$('.group-guest-list input.form-text').blur(function() {
  if(!$.trim(this.value).length) {
    $(this).closest('div').addClass('disabled');
  } else {
    $(this).closest('div').removeClass('disabled');
  }
});

});

答案 2 :(得分:0)

加载DOM后,您需要挂钩事件。像这样:

$(function() {
    function onTxtFocusChanged() {
        if(!$.trim(this.value).length) {
        $(this).closest('div').addClass('disabled');
      } else {
        $(this).closest('div').removeClass('disabled');
      }
  }

  $('.txt').on('blur focus', function() {
      onTxtFocusChanged.call(this);
  });
});