dynamic textbox jquery focus

2019-07-24 16:52发布

问题:

i am creating a dynamic text box of input type with the help of following code i am not able to set the focus on the input type.

var elem = document.createElement("input");
elem.type = "text";
elem.id = "txtParent";
elem.setAttribute('onblur', 'SetSpanValueForParent("' + spnText.id + '")');
$(elem).focus();
$(spnText).append(elem);

i have also tried doing this elem.focus();

can u provide that one line statement how can i achieve this

回答1:

You first need to append the input, before setting the focus().

Elements can have focus only if they are visible.

Example:

function fx(spnText)
{
  var elem = document.createElement("input");
  elem.type = "text";
  elem.id = "txtParent";
  elem.setAttribute('onblur', 'SetSpanValueForParent("' + spnText.id + '")');
  $(spnText).append(elem);
  //a little delay before setting the focus
  setTimeout(function(){elem.focus()},50);
}