【问题标题】:A href not working when onclick works当 onclick 工作时,href 不起作用
【发布时间】:2014-10-02 09:15:06
【问题描述】:

主题有问题。好吧,例如,我有这个html

<a href="/en/pages/socials.aspx">Learn more</a>

它不起作用。好吧,也许有一些不可见的元素不允许点击它。这里我添加 onclick 属性:

<a href="/ru/pages/socials.aspx" onclick="javascript:alert('Hi');">Learn more</a>

但现在我看到出现“Hi”消息(所以&lt;a&gt; 标签是可点击的),但它不会改变当前页面。

好吧,好吧。现在我将 javascript 更改为:

<a onclick="window.location.href='/ru/pages/socials.aspx';return false;"  href="/ru/pages/socials.aspx">Learn more</a>

现在它可以正常工作了,但我正在寻找非 JS 纯 HTML 解决方案。

请指教。为什么 &lt;a&gt; 对于 href 来说是不可点击的,但有可行的 JS onclick 事件?

【问题讨论】:

  • 使用开发者工具检查元素。
  • 太棒了。怎么会这样?你的语法很完美。同意@GuyT。
  • 也许你引用的是同一个页面。我的意思是,您的 href 是否引用了您所在的同一页面?
  • 这个工作吗:&lt;a href="/ru/pages/socials.aspx" onclick="javascript:$('a').unbind('click');"&gt;Learn more&lt;/a&gt;
  • 我的想法已经用完了;)。尝试在浏览器中禁用 javascript... 否则,除了尝试按照 @pstrohmeyer 的建议注释掉所有 js 文件之外,我没有看到任何其他解决方案。

标签: javascript html asp.net onclick tags


【解决方案1】:

您是否通过例如添加点击事件侦听器?查询?也许您正在通过以下方式禁用默认行为:

$(..).click(function(e){
    e.preventDefault();
    ...
});

我会排除“错误”标记(例如重叠的 div 或其他内容),因为您可以在添加内联 onclick 时使用该链接。

【讨论】:

  • 我没有。但是我连接了多个 JS 文件(几十个),它可能存在于某个地方
  • 如果您删除/注释掉所有 js 文件引用,看看它是否有效。如果是这样,请尝试逐步注释掉每个文件,看看是哪个文件导致了问题。
猜你喜欢
  • 2014-08-08
  • 2012-01-29
  • 2019-07-08
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 2011-07-08
相关资源
最近更新 更多