0

在单击按钮后启用文本字段后,我想将注意力集中在文本字段上,但是使用此代码将无法正常工作!如果我在启用文本字段时再次单击该按钮,则此代码就像一个魅力。

$('body').on('click', '#button', function() {
    if($('input[name="textfield-contact-name"]').val() == '') {
        $('input[name="textfield-contact-name"]').focus();
    }

    $('input').attr('disabled', false);
});

我已经测试过id="field"用于文本字段,然后#field在 jQuery 中使用,但同样的问题仍然存在!演示:http: //jsfiddle.net/edgren/Wj5Cq/

为什么启用文本字段后它不聚焦文本区域?

提前致谢。

4

1 回答 1

1

您无法聚焦已禁用的元素。首先删除 disabled 属性。

$('body').on('click', '#button', function() {

  $('input').removeAttr("disabled");

  if($('input[name=textfield-contact-name]').val() == '') {
    $('input[name=textfield-contact-name]').focus();
  }
});

另外,我认为 disabled 的标记应该是:

<input type="text" name="textfield-contact-name" disabled="disabled">

我还更改了您的 jQuery 选择器(删除了 " )(这就是它为我工作的方式)

于 2012-11-26T01:56:03.707 回答