我用过这个,
<a title="Logout" onclick="javascript:document.getElementById('ctl00_ContentPlaceHolder1_LbLogout').click();" href="#" class="logout">Logout</a></li>
<asp:LinkButton ID="LbLogout" runat="server" style="display:none"
onclick="LbLogout_Click">Sign out</asp:LinkButton>
锚标记似乎没有激活我的链接按钮onclick事件...
答案 0 :(得分:2)
检查是否有任何javascript错误。另请查看页面源代码,看看您的控件和JavaScript代码之间的ID是否匹配。尝试更改控件名称以使用UniqueID而不是直接编码,以防它具有不同的命名模板层次结构。
<a title="Logout" onclick="javascript:document.getElementById('<%= Lblogout.UniqueID %>').click();" href="#" class="logout">Logout</a></li>
答案 1 :(得分:0)
除了命名问题:
您必须return false
来自链接onclick
处理程序,否则将关注#
链接,取消其他链接点击可能发生的任何导航(并滚动页面到顶部);
不要在事件处理程序属性中使用javascript:
前缀。他们什么都不做。您正在考虑javascript:
伪URL。无论如何都不应该使用;
您无法通过调用click()
来激活链接的默认操作(导航页面)。所有click()
都将执行与之关联的任何onclick
JS操作。如果您要导航页面,则必须通过设置location.href= link.href
;
不要使用带有活动效果的链接,例如注销。它应该是一个普通的形式按钮。您始终可以使用CSS对其进行样式设置,使其看起来像链接。