2010-03-27 42 views
4

我有一个锚标签。我想 点击后禁用它。我 尝试了以下方法。禁用指向当前页码的链接。 (锚标签)

print "<script type='text/javascript'>parent.window.frames[2].document.getElementById('pagination').innerHTML+=\"<a href=# onclick='pageshow`($i);this.disabled=true'>$i</a>&nbsp;\"</script>"; 

注: 我不希望禁用的链接。我想禁用链接操作。像Google搜索页面一样。

例如:1 2 3 4 5下一页

这里一旦我点击第一页,我不能再次点击同一页面。我想要的是同样的东西

回答

1
<a href="…" onclick="this.removeAttribute('href');"> 
+0

禁用<a id="current">我觉得这是防止甚至第一次点击的工作,因为在该函数返回和浏览器决定在点击采取行动的时候, 没有href。 – Neek 2012-02-11 06:47:28

7

您还可以使用以下方法禁用锚标记。

<a href='URL' style='text-decoration:none;cursor: auto;' onClick='return false'>LINK</a> 
+0

这是一个有点误导性的答案,并没有回答这个问题,我想大多数人来这里会问,这是如何禁用链接一旦点击,例如在购物车结账时,当你不想'结帐'链接点击不止一次。您的解决方案可防止链接导致任何导航。请参阅http://stackoverflow.com/questions/1164635/how-to-enable-or-disable-an-anchor-using-jquery – Neek 2012-02-11 06:46:25

3

已经重读的问题...

谷歌没有“禁用链接被点击后”。

他们只是不链接到当前页面。他们的标记是惨不忍睹的,所以我不会把它复制,一个简单的例子(2页)将是:

<ol> 
    <li><a>1</a></li> 
    <li>2</li> 
    <li><a>3</a></li> 
    <li><a>4</a></li> 
</ol> 
0

JavaScript是不是这样做的正确的方式,但我会提供了一个答案它赫克:

var links = document.getElementsByTagName('a'), link, children; 
for(var i = 0; i < links.length; i++) { 
    link = links[i]; 
    if(link.href == window.location.href) { 
     children = link.childNodes; 
     for(var j = 0; j < children.length; j++) { 
      link.parentNode.insertBefore(children[j], link); 
     } 
     link.parentNode.removeChild(link); 
    } 
} 

编辑:我不知道。“他-双曲棍球棒”是“粗口”的左右,但如果是这样,这将是神秘的几个月现在这么删除我用“heck”代替。

2

我看到这个问题的最佳答案涉及到使用jQuery。

How to enable or disable an anchor using jQuery?

这里的柜面该链接中断的代码。 通过防止e(在锚的单击事件)

$(document).ready(function() { 
    $('a#current').click(function(e) { 
    e.preventDefault(); 
    }); 
}); 
+0

在你的情况下,我会使所有页码链接有条件地禁用,例如,当该页面号码是#current或其他内容。 – 2012-04-18 23:42:58

相关问题