我從來沒有親身體驗過這種行爲。 DefaultButton屬性在Chrome中一直適用於我,但如果你不能真正解決這個問題,還是有辦法的。您可以在要爲其啓動按鈕的控件中插入一個簡短的JavaScript。下面是一個非jQuery的方法:
StringBuilder script = New StringBuilder("");
script.Append("if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {");
script.Append("document.getElementById('" + Me.btnToFire.ClientID);
script.Append("').click();return false;}} else {return true};");
this.txtControlToAttach.Attributes.Add("onkeydown", script.ToString());
這裏是一個jQuery解決方案,可用於分配相同的塊的倍數(未經測試,因此它可能需要的調整)。
function fireButtonClick(ctrl, event) {
if(event.which || event.keyCode){
if ((event.which == 13) || (event.keyCode == 13)) {
ctrl.click();
return false;
}
}
else {
return true;
}
}
$(document).ready(function() {
$("#<%=this.ControlToAttach.ClientID%>").keypress(function(event) {
fireButtonClick($("#<%=this.btnToFire.ClientID%>"), event);
});
$("#<%=this.ControlToAttach2.ClientID%>").keypress(function(event) {
fireButtonClick($("#<%=this.btnToFire2.ClientID%>"), event);
});
// Just keep adding controls here
});
你是什麼意思默認按鈕。另外,你的意思是說,你點擊一個按鈕,但其他按鈕的事件動作被稱爲 –
你可以顯示一些你用這些面板和他們的DefaultButton設置的HTML代碼?如果它很重,也許可以梳理其他表單元素。 –
您是否將按鈕放在asp:panel中,然後在面板上設置defaultbutton屬性?像[這](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx) –