问题控制 TabPanel 中的 Enter 键行为
Issue controlling Enter Key behavior in a TabPanel
我有一个使用 Tabcontainer 控件的 Web 应用程序。
我在 TabPanel 中定义了一个 HeaderTemplate 并在其上放置了一个 ImageButton 控件,这样我就可以在选项卡上有一个 "close panel" X 图像。
我正在通过代码手动控制选项卡可见性。
从这个图像 OnClick 事件 - 我执行一些清理并手动关闭选项卡的代码。
显示代码如下:
<asp:TabPanel ID="TabREVRES" runat="server" HeaderText="" Visible="false" DefaultButton="T2ResSearch">
<HeaderTemplate>
<asp:Label ID="ResHdrLbl1" runat="server" Text="Open Resource Review" Font-Size="Smaller"></asp:Label>
<asp:ImageButton runat="server" ID="ResHdrClose" ImageUrl="../Images/XinBox.jpg" ToolTip="Close Review Tab" OnClick="ResTabClose_Click"
Height="15" ImageAlign="TextTop" Width="15" />
</HeaderTemplate>
我在这个 TabPanel 的页面上有一个文本框和搜索按钮。我希望 Enter 键默认为搜索按钮。但是,Enter 键默认为 TabPanel ImageButton 控件的 Onclick 事件 - 从而执行代码隐藏逻辑以关闭选项卡。
正如您从代码示例中看到的那样 - 我尝试将 DefaultButton= 添加到 TabPanel 但这不起作用。如有任何帮助,我们将不胜感激。
不确定这是最干净的方法 - 但我使用以下代码解决了这个问题,以防它对任何人有帮助:
在我没有按钮控件的选项卡中 - 我使用此 javascript:
阻止 Enter 键关闭选项卡
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
document.onkeypress = stopRKey;
对于带有按钮控件的选项卡 - 我将其中之一设置为默认值,如下所示:
this.Form.DefaultButton = this.mydefaultbuttonID.UniqueID;
我有一个使用 Tabcontainer 控件的 Web 应用程序。
我在 TabPanel 中定义了一个 HeaderTemplate 并在其上放置了一个 ImageButton 控件,这样我就可以在选项卡上有一个 "close panel" X 图像。
我正在通过代码手动控制选项卡可见性。
从这个图像 OnClick 事件 - 我执行一些清理并手动关闭选项卡的代码。
显示代码如下:
<asp:TabPanel ID="TabREVRES" runat="server" HeaderText="" Visible="false" DefaultButton="T2ResSearch">
<HeaderTemplate>
<asp:Label ID="ResHdrLbl1" runat="server" Text="Open Resource Review" Font-Size="Smaller"></asp:Label>
<asp:ImageButton runat="server" ID="ResHdrClose" ImageUrl="../Images/XinBox.jpg" ToolTip="Close Review Tab" OnClick="ResTabClose_Click"
Height="15" ImageAlign="TextTop" Width="15" />
</HeaderTemplate>
我在这个 TabPanel 的页面上有一个文本框和搜索按钮。我希望 Enter 键默认为搜索按钮。但是,Enter 键默认为 TabPanel ImageButton 控件的 Onclick 事件 - 从而执行代码隐藏逻辑以关闭选项卡。
正如您从代码示例中看到的那样 - 我尝试将 DefaultButton= 添加到 TabPanel 但这不起作用。如有任何帮助,我们将不胜感激。
不确定这是最干净的方法 - 但我使用以下代码解决了这个问题,以防它对任何人有帮助:
在我没有按钮控件的选项卡中 - 我使用此 javascript:
阻止 Enter 键关闭选项卡function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
document.onkeypress = stopRKey;
对于带有按钮控件的选项卡 - 我将其中之一设置为默认值,如下所示:
this.Form.DefaultButton = this.mydefaultbuttonID.UniqueID;