我在aspx页面上有两个按钮(ButtonA
& ButtonB
)和一个文本框(TexboxA
)。
在TexboxA
模糊,我调用Javascript事件以编程方式点击ButtonA
。
我的问题是:
当我专注于TextBoxA
时,我直接点击ButtonB
,首先触发onclick事件? ButtonA_Click
- 因为我正在失去TextBoxA的焦点并以编程方式触发ButtonA,或者
ButtonB_Click
- 因为我是直接点击它?
如何防止在ButtonB_Click
完成之前触发ButtonA_Click
?
Aspx代码:
<asp:TextBox ID="TextBoxA" runat="server" onblur="ClickA();"/>
<asp:Button ID="ButtonA" runat="server" OnClick="ButtonA_Click();"/>
<asp:Button ID="ButtonB" runat="server" OnClick="ButtonB_Click();"/>
JS代码:
function ClickA(){
document.getElementById('<%=ButtonA.ClientId%>').click();
}
答案 0 :(得分:0)
也许你的整个逻辑都不是很好,但是如果你需要在客户端做一些事情才能调用服务器代码,你可以使用按钮的OnClientClick方法。
这也允许中止服务器端方法单击。
见这里例如:
Asp .NET Button - OnClientClick="return function()" vs OnClientClick="function()" 和 https://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclientclick(v=vs.110).aspx
如果服务器端代码的执行顺序很重要,也许你应该在服务器端确保它,而不是试图在客户端限制它。