gpt4 book ai didi

jquery - 为什么 OnClientClick 不返回 false 取消回发

转载 作者:行者123 更新时间:2023-12-03 22:40:17 25 4
gpt4 key购买 nike

我有一个 LinkBut​​ton,我在其中使用 OnClientClick 属性来询问用户是否真的想要执行某个操作,例如:

<script>
function confirmDelete() {
return confirm('Do you really want to delete?');
}
</script>

<asp:LinkButton runat="server" OnClientClick="return confirmDelete()" ... />

此模式通常有效,但在此特定页面上却无效。无论我在确认对话框中单击“确定”还是“取消”,都会执行回发。

<小时/>

只是为了完整性(回答 pst 的问题):渲染的 HTML 没问题。例如。它看起来像这样:

<a id="ctl00_c1_content_btnDelete" onclick="return confirmDelete();"
href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(..))"
... >
Delete
</a>

最佳答案

该行为的原因是另一段 javascript,其中链接(按钮)的单击事件的处理程序是通过 jquery 注册的,例如与此类似的东西:

<script>
$(document).ready(function() {
$('a').click(function() {
// ...
return (someCondition == true);
});
});
</script>

看来这个点击处理程序是在 OnClientClick 注册的点击处理程序之后调用的,当这个点击处理程序返回 true 时,就会发生回发,与第一个点击处理程序(确认对话框)。

关于jquery - 为什么 OnClientClick 不返回 false 取消回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com