Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   отключить ссылку (https://javascript.ru/forum/jquery/14341-otklyuchit-ssylku.html)

vanderv 11.01.2011 21:35

отключить ссылку
 
Господа, можно ли отключить ссылку(не переходила по адресу)?
пробывал die() - как-то не принесло успехов...

Amphiluke 11.01.2011 21:42

$("#alink").click(function(e) {
    e.preventDefault();
    // do something
});

Gvozd 11.01.2011 21:43

чего?

vanderv 11.01.2011 22:51

Вот есть некий текст. В нем есть ссылка. Мне надо отключить эту ссылку.
Пользователь жмет на ссылку - а переход по ссылке не происходит.
$(txt).find(a).die() не помогает. Что можете посоветовать?

Matre 11.01.2011 22:56

$(a, txt).click(function(){$(arguments).get(0).preventDefault();});

da_ff 12.01.2011 12:39

Цитата:

Сообщение от Matre (Сообщение 87520)
$(a, txt).click(function(){$(arguments).get(0).preventDefault();});

ндааа... Бессысленный и беспощадный копипаст. Мы создаем jquery объект из переданного параметра, чтобы получить из него этот параметр.
не проще ли
function(evt){evt.preventDefault();}

Все равно обработчик навешиваем через jq.
Либо же вообще сделать безо всяких jq
evt.originalEvent.stopPropagation ? evt.originalEvent.stopPropagation() : evt.originalEvent.cancelBubble = true;


P.S. Ага, почитал твои посты, так толсто, что даже тонко! Про бездумный копипаст беру слова назад, чувак ты гений, а findelements вообще пушка.

P.P.S. я тоже херню про второй вариант написал, разумеется чтобы просто запретить переходы достаточно будет return false; из click

Matre 12.01.2011 12:47

Цитата:

function(evt){evt.preventDefault();}
попробуйте запустить ваш код-он выдает ошипку:

function(evt){evt.preventDefault();}


равнокак и ваш второй бредо-вариант:

evt.originalEvent.stopPropagation ? evt.originalEvent.stopPropagation() : evt.originalEvent.cancelBubble = true;


еслибы он был правыильно написан,то только остонавливал бы всплытие эвента

учите java script

Vulkan 12.01.2011 12:54

А такое не подойдёт?
<a href="/" onclick="return false;">ссылка</a>

da_ff 12.01.2011 12:59

Matre,
Ты ведь меня тролишь? Ты же не серьезно это написал?

Matre 12.01.2011 13:13

Vulkan
мы не ищем легких путей,они для слабоков
da_ff
нет-все серьезно
и я жду ответных аргументов от вас

da_ff 12.01.2011 13:24

Matre,
очень серьезно?
вы предложили так
$(a, txt).click(function(){$(arguments).get(0).preventDefault();});

я предложил так
$(a, txt).click(function(evt){evt.preventDefault();});

Однако, поскольку нам надо не тушить событие, на чем меня почему-то переклинило по началу, а не дать перейти по ссылке, то лучше конечно же будет
$(.memo a).click(function(){return false});

Nightmare 12.01.2011 16:31

Matre,
зачем идти в туалет через америку, если можно пройти 10 метров?
То же самое делаешь и ты!

Matre 12.01.2011 17:40

Цитата:

$(.memo a)
а вы приколист
в том примере a и txt по видимому переменные..а здесь строка,ее в апострофы заклчюат

Nightmare
прочтите мои записи нафоруме
я предлагаю новые подходы к написанию кода
но люди-меня непонимают
и вы тоже среди них,ксожелению

da_ff 12.01.2011 18:20

Matre,
Цитата:

a и txt по видимому переменные..а здесь строка,ее в апострофы заклчюат
Молодец! Я смотрю, ты выучил "java script".

Октай Иманов 05.07.2015 18:02

Вот у меня работает
 
$(document).ready(function() {
  $(a).click(function(e) {
    e.preventDefault();
  });
});

A_Steb 07.04.2016 18:06

Цитата:

Сообщение от Октай Иманов (Сообщение 377714)
$(document).ready(function() {
  $(a).click(function(e) {
    e.preventDefault();
  });
});

$(document).ready(function() {
  $('a').click(function(e) {
    e.preventDefault();
  });
});

Вот так работать будет.


Часовой пояс GMT +3, время: 20:43.