2015-08-27 4 views
1

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

В основном мне нужно отключить всю ссылку на странице и снова включить только те, которые я хочу включить. Я знаю, что jQuery имеет способ отключить ссылки, но я не являюсь профессионалом JS.

спасибо.

ответ

2

Вы можете сделать это путем привязки события на все якоря. Дайте якорям, которым разрешено щелкнуть класс .allowedLink.

Функция проверяет, имеет ли ссылка класс. Если нет, поведение по умолчанию отключено.

$(function() { 
 
    $('a').on('click', function(e) { 
 
    if (!$(this).hasClass('allowedLink')) { 
 
     e.preventDefault(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="http://stackoverflow.com">Disabled</a><br /> 
 
<a href="http://stackoverflow.com">Disabled</a><br /> 
 
<a href="http://stackoverflow.com" class="allowedLink">Enabled</a><br /> 
 
<a href="http://stackoverflow.com">Disabled</a>

+0

Есть ли способ, чтобы сделать его интерактивным, если он содержит Clickable inide . Пример: Clickable Pabi

+1

@Pabi, обязательно измените if на 'if ($ (this) .html()! = 'Clickable')' – LinkinTED

1

Добавить класс для всех звеньев должен быть интерактивным и в Jquery вы можете использовать

$("body").on("click","a:not(.clickable)",function(){return false;}); 

Пример: http://jsfiddle.net/xnm8rz9g/

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