当UpdatePanel触发时,IE8光标跳转到textarea的末尾

时间:2011-05-02 15:30:58

标签: c# asp.net internet-explorer-8 updatepanel textarea

我有一个 UpdatePanel 和一个textarea在这样的页面上:

<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 计时器触发时,textarea中的光标移动到文本的末尾。如果您尝试将任何文本添加到文本区域的中间,则光标会一直跳到最后变得非常困难。此 发生在 IE8 中。所有其他浏览器都非常乐意让您在没有问题的情况下在文本的中间键入

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

1 个答案:

答案 0 :(得分:1)

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

尝试将min-width和max-width设置为相同的值。

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

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

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