【发布时间】:2010-03-15 20:45:10
【问题描述】:
过去几个小时我一直在寻找解决方案,但无济于事。当我单击 OnClientClick 中返回 false 的按钮时,服务器不会发生回发。当我使用 jquery 触发按钮的点击功能时,首先触发 OnClientClick,但无论返回值如何,都会发生回发。这是一个简单的示例...
k...放置更准确地演示问题的代码。很抱歉混淆了...
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="script/jquery-1.4.2.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<img onclick="$('#Button1').click();" runat="server" width="100" height="100" style="border:solid 1px black" /><br />
<asp:Button ID="Button1" OnClick="Button1_Click" OnClientClick="return false;" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
回答一些被问到的问题...我有一个用户控件。它是一个使用两个图像和一个隐藏按钮来调用服务器的翻转按钮。该按钮使用反射来启用任何指定的 OnClick 处理程序,以调用控件所在的特定页面上的函数。如果需要,OnClientClick 还用于提供额外的 Javascript 操作。当我直接连接了一个不可见但可点击的按钮时,一切正常。我决定让按钮真正不可见,甚至不显示它,但这需要我让图像真正触发按钮的点击事件。
【问题讨论】:
-
不能只使用ImageButton控件有什么原因吗?
-
我已经尝试使用 ImageButton 控件来处理“over”图像,但是它不会将 Alt 文本完全呈现给 img。当图像关闭时,副作用是一些非常奇怪的过渡。我想我是一个完美主义者,希望有一个按钮,就像一个按钮,但也有自定义淡入淡出。我可能不得不妥协。
-
你想完成什么?您希望服务器按钮触发回发吗?你想点击按钮而不触发回发吗?为什么?
标签: javascript jquery events click onclientclick