没有使用 JavaScript 禁用锚点链接

3

让我们假装这个有效:

<a href="target.html" enabled="<%# myboolean %>">Zelda</a>

好的,但是它并没有这样做。我能得到的最接近这个设置的是什么?基本上,我想要的文本要么是一个链接,要么是普通文本,具体取决于myboolean

2个回答

2

如果你真的想在链接和纯文本之间切换,可以在 asp.net 代码中使用 if 语句。

<% if (myboolean) { %>
  <a href="target.html">Zelda</a>
<% } else { %>
  Zelda
<%} %>

天啊,我不知道你能做到那个。 - proseidon
<p>Zelda</p> 不是纯文本,它是被标记为段落的一个词(默认情况下会显示为带有上下边距的块)。请使用仅 Zelda<a>Zelda</a> - Jukka K. Korpela
更新以更好地匹配问题。谢谢Jukka! - Bill

0

您可以使用以下方式隐藏元素:

<a href="target.html" <%# myboolen ? "style=\"display:none;\"" : "" %>>Zelda</a>

或者禁用元素的onlclick

<a href="target.html" <%# myboolen ? "onclick=\"javascript:return false;\"" : "" %>>Zelda</a>

或者,您可以通过将标签设置为服务器端运行并使用代码后端来禁用元素的onclick事件

前端

<a href="target.html" runat="server" id="anchor">Zelda</a>

代码后台(从外观上看,您需要在绑定事件中完成此操作)

anchor.attributes.add("onclick", "javascript:return false;");

无论你觉得哪一个更整洁 :)


这也会实现我所需的。感谢您的回复。 - proseidon
两个答案都很优秀,但这个回答最接近原问题,所以你会得到额外的奖励分。它们就像奖励分一样,但更加实际。 - proseidon
2
disabled 属性在除了 IE 以外的浏览器中在 a 中无效且不被识别。readonly 也是如此,即使是 IE 也会忽略它。 - Jukka K. Korpela
啊,我不知道,因为我还没有测试过它。 - proseidon
在这种情况下,您可以添加onclick="javascript:return false;",而不是禁用和只读组合框。通过这种方式,您基本上会得到一个禁用的锚点 :P - JDandChips

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接