用于渲染元素的 jquery 事件

pau*_*ith 5 html javascript jquery

我正在尝试在屏幕外执行所有 dom 操作,然后使其可见。哪个有效,除了现在我试图用一个表单来做它的情况,我想在浏览器上呈现它时专注于第一个输入文本。

类似于:myForm.prependTo(myDiv).show().find('input:first').focus();

问题是在表单完成渲染之前调用焦点,这导致了可爱的错误“无法将焦点移动到控件,因为它不可见、未启用或类型不接受焦点'

其他 Web 开发人员如何处理在屏幕外操作元素然后使其可见的类似情况?我希望 jQuery 有类似的东西
myForm.prependTo(myDiv, function() { /* on render code here */ })

我知道这样做的一种方法是设置超时,当它触发时,我将注意力集中在输入上,但我觉得这并不是最干净的做事方式。我知道 iframe 有一个 onload 事件,所以我很好奇人们是否通常在一些隐藏的 iframe 中绘制他们的元素并监听它的 load 事件以了解元素何时完成渲染?如果是这样,你能指出我这样做的例子吗?

The*_*pha 2

myForm.prependTo(myDiv).show(function(e){\n    $(this).find('input:first').focus();\n});\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n