我有一个棘手的问题!
我已经创建了一个 ASP.NET 页面,其中包含一个更新面板和一个在该更新面板上的触发器。触发器每 30 秒更新一次面板。
问题是,当触发器更新面板时,IE8 会从我正在使用的任何其他程序中获取焦点。
有没有人对此有解决方案?
这发生在 IE8 中;在 Firefox 中,我对此没有任何问题。
这是带有更新面板的计时器:
<asp:Timer ID="Timer1" runat="server" Interval="30000" ontick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
<asp:AsyncPostBackTrigger ControlID="ButtonSubmit" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
Loading....
</ProgressTemplate>
</asp:UpdateProgress>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder><br />
<div class="clear"></div>
<asp:Label ID="Label4" runat="server" Text="Grid not refreshed yet.">
</asp:Label><br />
<asp:Label ID="Label5" runat="server" Text="(Grid Will Referesh after Every 30 Sec)" Font-Bold="true"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
在计时器刻度上,我只执行此操作:
protected void Timer1_Tick(object sender, EventArgs e)
{
Label4.Text = "Grid Refreshed at: " + DateTime.Now.ToLongTimeString();
}
提前致谢。
我希望任何人都知道为什么 IE8 会“窃取”焦点。
最佳答案
尝试 Live 事件,这应该可以解决您的问题。 http://docs.jquery.com/Events/live
关于IE 中的 ASP.NET 页面在其他程序中窃取焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065308/