当 UpdatePanel 触发时,IE8 光标跳转到文本区域的末尾

发布于 2024-11-04 18:31:09 字数 918 浏览 0 评论 0 原文

我在页面上有一个 UpdatePanel 和一个文本区域,如下所示:

<asp:Timer runat="server" ID="Timer" Interval="1000" OnTick="Tick" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
    <ContentTemplate>
        <asp:Label ID="Label" runat="server" />          
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger controlid="Timer" eventname="Tick" />
    </Triggers>
</asp:UpdatePanel>

<asp:TextBox runat="server" Width="600" Height="400" TextMode="MultiLine" />

// Codebehind
protected void Tick(object sender, EventArgs e) {
    Label.Text = DateTime.Now.ToString();
}

每当 UpdatePanel 计时器触发时,文本区域中的光标就会移动到文本末尾。如果您尝试将任何文本添加到文本区域的中间,则会变得非常困难,因为光标不断跳到末尾。这发生在IE8中。所有其他浏览器都非常乐意让您毫无问题地在文本中间输入内容。

知道为什么 IE 中会发生这种情况以及如何阻止它吗?

I have an UpdatePanel and a textarea on a page like this:

<asp:Timer runat="server" ID="Timer" Interval="1000" OnTick="Tick" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
    <ContentTemplate>
        <asp:Label ID="Label" runat="server" />          
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger controlid="Timer" eventname="Tick" />
    </Triggers>
</asp:UpdatePanel>

<asp:TextBox runat="server" Width="600" Height="400" TextMode="MultiLine" />

// Codebehind
protected void Tick(object sender, EventArgs e) {
    Label.Text = DateTime.Now.ToString();
}

Whenever the UpdatePanel timer fires, the cursor in the textarea moves to the end of the text. If you try to add any text to the middle of the text area it becomes very difficult as the cursor keeps jumping to the end. This only happens in IE8. All other browsers are perfectly happy to let you type in the middle of the text without issue.

Any idea why this happens in IE and how to stop it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

染墨丶若流云 2024-11-11 18:31:09

我相信 IE8 有一个已知的文本区域错误。

尝试将最小宽度和最大宽度设置为相同的值。

只是为了确保,如果您使用兼容模式,是否会出现此错误?

textarea {
  width: 700px;
  min-width: 100%;
  max-width: 100%;
}

您可能还想设置固定像素height属性。

I believe IE8 has a known text area bug.

Try setting the min-width and max-width to be the same value.

Just to make sure, if you use Compatibility Mode, does this error occur?

textarea {
  width: 700px;
  min-width: 100%;
  max-width: 100%;
}

You might also want to set a fixed pixel height property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文