2010-03-27 2 views
4

У меня есть один якорный бирка. Я хочу, чтобы отключил его после того, как он щелкнул. I пробовал следующим образом.Отключить ссылку на текущий номер страницы. (якорная бирка)

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-й странице я не могу нажать ту же страницу. То же самое хочу.

ответ

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

Я нахожу это предотвращает даже первый щелчок от работы, потому что к тому времени эта функция возвращает и браузер решает действовать на щелчком, не имеет href. – Neek

7

Вы также можете отключить якорный тэг, используя следующий способ.

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

Это немного вводящий в заблуждение ответ и не отвечает на вопрос, который, как мне кажется, большинство людей, приезжающих сюда, спрашивали, каким образом можно отключить ссылку после щелчка, например, в корзине покупок, когда вы не хотите, чтобы " checkout ', которую нужно нажать несколько раз. Ваше решение предотвращает вообще какую-либо навигацию. См. Http://stackoverflow.com/questions/1164635/how-to-enable-or-disable-an-anchor-using-jquery – Neek

3

После перечитал вопрос ...

Google не «Отключить связь после того, как она была нажата».

Они просто не ссылаются на текущую страницу. Их разметка ужасает, так что я не буду копировать, упрощенный пример (для страницы 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); 
    } 
} 

Edit: я не знаю, если «он-двойной клюшки» является «матерятся» на SO, но если она есть, это будет удален таинственно несколько месяцев с этого момента, так Вместо этого я использовал «heck».

2

Лучший ответ, который я видел в этом вопросе, включает использование jQuery.

How to enable or disable an anchor using jQuery?

вот код упаковывают что ссылка брейков. Это отключает <a id="current">, предотвращая e (событие щелчка на якорь)

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

В вашем случае я сделал бы все ссылки на номера страниц отключенными условно, например, когда номер страницы является # текущим или чем-то. –

Смежные вопросы