如何让textarea在jQuery工具覆盖表单中获得焦点?
这应该很容易,但我快疯了。我弹出一个jQuery工具覆盖表单,其中包含一个textarea,我希望textarea在出现时具有焦点。表单本身运行良好,但我无法使焦点保持不变。显示表单时,将运行以下代码:如何让textarea在jQuery工具覆盖表单中获得焦点?,jquery,jquery-tools,Jquery,Jquery Tools,这应该很容易,但我快疯了。我弹出一个jQuery工具覆盖表单,其中包含一个textarea,我希望textarea在出现时具有焦点。表单本身运行良好,但我无法使焦点保持不变。显示表单时,将运行以下代码: $(document).ready(function () { console.log('firing!');] $('#edit-comment').css('color', '#ff0000'); $('#edit-comment').focus(); })
$(document).ready(function () {
console.log('firing!');]
$('#edit-comment').css('color', '#ff0000');
$('#edit-comment').focus();
});
当表单出现时,我在console.log中得到了条目,并且得到了textarea颜色的变化,因此代码肯定正在运行并找到textarea。但我没有将焦点设置到文本区域
我觉得这很奇怪。有什么见解吗
$(function() {
console.log("firing!");
document.getElementById("edit-comment").style.color = "#F00";
document.getElementByID("edit-comment").focus();
});
但是颜色会改变文本的颜色。如果要更改背景,请使用.backgroundColor;如果要更改边框,请使用.borderColor。我怀疑代码在DOM中创建#编辑注释之前运行。您的代码似乎在document.ready上运行
尝试运行
$('#编辑注释').focus()代码>在加载覆盖的函数中进行编码,看看这是否有帮助。与其说是回答,不如说是泛舟。时间是一种浪费;我找到了另一种做同样事情的方法。我认为阿诺关于编辑评论创建的确切时间的观点是其中的一部分;无论如何,谢谢你的帮助 颜色改变只是一个测试调用,我输入这个测试调用是为了确保我找到了正确的文本区域,并且我可以对它做些什么——它不会真的存在。但是不管怎样,(a)document.getElementById调用与jQuery调用有何不同,(b)我尝试了它,但它也不起作用??奇怪的是,我有一个网络应用程序可以做到这一点,它正在工作,我刚刚用Chrome测试了一个快速html,但用IE 8却没有。这应该是有效的。是的,这就是为什么它这么奇怪:)。Re IE 8——检查——如果调用时表单元素不可见,IE显然会中断。我试图修改上面的代码,使show()处理程序中的focus()调用挂起textarea,但仍然没有成功。