Asp.net 为什么文本区域上的jquery.animate会使闪烁的光标消失?

Asp.net 为什么文本区域上的jquery.animate会使闪烁的光标消失?,asp.net,javascript,jquery,textarea,cursor,Asp.net,Javascript,Jquery,Textarea,Cursor,我有以下代码 $(document).ready(function() { $("#myTextArea").focus(function() { $("#myTextArea").animate({ "height": "75px"}, "normal"); return false; }); 获取焦点时展开文本框。扩展发生了,但是闪烁的光标消失了,至少在Firefox中是这样 编辑:文本区域仍然是焦点,我可以在上面键入 为什么会发生这种情况?

我有以下代码

$(document).ready(function() {
    $("#myTextArea").focus(function() {
        $("#myTextArea").animate({ "height": "75px"}, "normal");
        return false;
    });
获取焦点时展开文本框。扩展发生了,但是闪烁的光标消失了,至少在Firefox中是这样

编辑:文本区域仍然是焦点,我可以在上面键入

为什么会发生这种情况?有没有办法再次展示它


提前感谢

您的
return false
语句正在取消
聚焦
操作:)您只会在元素聚焦时获得一个光标,我只会从函数中删除这一行

除此之外,文本区域中的
.focus()
不是您可以轻松收回的,因为它有一个重要的位置,您最好在此处坚持CSS更改:

$("#myTextArea").focus(function() {
    $(this).css({ "height": "75px" });
});
这根本不会影响光标行为,也不会影响saema跨浏览器的工作(
focus
在不同浏览器之间仍然不同),但当然不会产生动画效果。另一种选择(我没有在所有浏览器中测试过)是,在动画制作之后,可以使用相同的参数再次触发焦点,恢复位置,如下所示:

$("#myTextArea").focus(function(e) {
    if($(this).height() == 75) return;
    $(this).animate({ height: 75}, "normal", function() {
        $(this).blur().trigger(e);
    });
});​

,只需确保检查所有浏览器,因为它们之间的行为可能略有不同。

谢谢您的回答!但是我认为文本区域是聚焦的,因为我可以在它上面键入内容,而且光标永远不会出现。我将尝试这些解决方案,并在之后发布一些反馈:)出于某种原因,是容器div的css禁用了游标。。。我无法让它工作。。。所以我现在就用你的第一个建议。虽然这不是更好的解决方案,但如果没有人回答更好的问题,我会接受。谢谢你的帮助!