M4N*_*M4N 7 asp.net jquery postback onclientclick
我有一个LinkButton
地方,我使用该OnClientClick
属性询问用户他是否真的想要执行一个动作,例如:
<script>
function confirmDelete() {
return confirm('Do you really want to delete?');
}
</script>
<asp:LinkButton runat="server" OnClientClick="return confirmDelete()" ... />
Run Code Online (Sandbox Code Playgroud)
这种模式通常有效,但在这个特定页面上却没有.无论是否在确认对话框中单击"确定"或"取消",都会执行回发.
只是为了完整性(回答pst的问题):呈现的HTML是可以的.例如它看起来像这样:
<a id="ctl00_c1_content_btnDelete" onclick="return confirmDelete();"
href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(..))"
... >
Delete
</a>
Run Code Online (Sandbox Code Playgroud)
行为的原因是另一条javascript,其中链接(按钮)的click事件的处理程序是通过jquery注册的,例如类似于:
<script>
$(document).ready(function() {
$('a').click(function() {
// ...
return (someCondition == true);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
似乎这个click-handler在注册者之后被调用OnClientClick
,当这个返回时true
,然后发生回发,与第一个click-handler(确认对话框)的结果无关.
归档时间: |
|
查看次数: |
22445 次 |
最近记录: |