Как сделать так, чтобы тег привязки ссылался ни на что? - PullRequest
138 голосов
/ 29 мая 2009

Я использую jQuery, мне нужно, чтобы некоторые теги привязки не выполняли никаких действий.

Я обычно пишу это так:

<a href="#">link</a>

Однако это относится к началу страницы!

Ответы [ 17 ]

5 голосов
/ 03 января 2012

Я знаю, что это старый вопрос, но я все равно решил добавить свои два цента:

Это зависит от того, что будет делать ссылка, но обычно я указываю ссылку на URL, который, возможно, отображает / делает то же самое, например, если вы немного разбираетесь в всплывающем окне до:

<a id="about" href="/about">About</a>

Затем с помощью jQuery

$('#about').click(function(e) {
    $('#aboutbox').show();
    e.preventDefault();
});

Таким образом, очень старых браузеров (или браузеров с отключенным JavaScript) все еще могут переходить на отдельную страницу about, но, что более важно, Google также подберет это и просканирует содержимое страницы about.

4 голосов
/ 25 сентября 2015

Вы можете иметь привязку HTML (тег a) без атрибута href. Не указывайте атрибут href, и он ни на что не будет ссылаться:

<a>link</a>
3 голосов
/ 18 декабря 2013

Единственное, что сработало для меня, это сочетание вышеперечисленного:

Первый раз в уль

<li><a onclick="LoadTab2_1()" href="JavaScript:void(0)">All Assigned</a></li>

Затем в LoadTab2_1 я вручную переключил вкладку divs

$("#tabs-2-1").hide();
    $("#tabs-2-2").show();

Это потому, что отключение также отключает действие во вкладках

Вам также нужно вручную оформить вкладку, когда основная вкладка изменит вещи

$("#secTab1").addClass("ui-tabs-active").addClass("ui-state-active").addClass("ui-state-hover").addClass("ui-state-focus");
    $("#secTab1 a").css("color", "#ffffff");
2 голосов
/ 22 мая 2017

Вы можете сделать это по

<a style='cursor:pointer' >Link</a>
1 голос
/ 16 мая 2014
<a href="#" onclick="SomeFunction()"  class="SomeClass">sth.</a>

это был мой якорный тег. так что возвращать false on onClick = "" событие здесь бесполезно. Я только что удалил свойство href = "#", и оно работало для меня, как показано ниже

<a onclick="SomeFunction()"  class="SomeClass">sth.</a>

и мне нужно было добавить этот CSS.

.SomeClass
{
    cursor: pointer;
}
1 голос
/ 02 января 2017

Я столкнулся с этой проблемой на сайте WordPress. Заголовки в выпадающих меню всегда имели атрибут href="", а используемый плагин заголовка допускал только стандартные URL. Самым простым решением было просто запустить этот код в нижнем колонтитуле:

jQuery('[href=""]').click(function(e){
    e.preventDefault();
});

Это не позволит пустым якорям делать что-либо.

0 голосов
/ 27 января 2016

Я знаю, что это помечено как вопрос jQuery, но вы также можете ответить на него с помощью AngularJS.

в свой элемент, добавьте директиву ng-click и используйте переменную $ event, которая является событием click ... предотвратите его поведение по умолчанию:

<a href="#" ng-click="$event.preventDefault()">

Вы даже можете передать переменную $ event в функцию:

<a href="#" ng-click="doSomething($event)">

в этой функции вы делаете все, что хотите, с событием click.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...