gpt4 book ai didi

asp.net - 为什么 textarea 上的 jquery.animate 会使闪烁的光标消失?

转载 作者:行者123 更新时间:2023-11-29 10:54:37 25 4
gpt4 key购买 nike

我有以下代码

$(document).ready(function() {
$("#myTextArea").focus(function() {
$("#myTextArea").animate({ "height": "75px"}, "normal");
return false;
});

当获得焦点时扩展文本框。展开发生了,但是闪烁的光标消失了,至少在 Firefox 中是这样!

已编辑:文本区域仍处于焦点状态,我可以在上面打字。

为什么会这样?有没有办法再显示出来?

提前致谢

最佳答案

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

除此之外,文本区域中的 .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);
});
});​

You can test this from here , 请务必检查所有浏览器,因为它们之间的 focus 行为可能略有不同。

关于asp.net - 为什么 textarea 上的 jquery.animate 会使闪烁的光标消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com