Просмотр полной версии : jquery - как отключить аякс на ссылке?
повесил на все ссылки аякс
$(document).ready(function(){
$("a").click(function(){
$('#data').load(this.href);
return false;
});
});
хочу сделать так, чтобы можно было отключать его для некоторых ссылок.
не лучший способ- добавлять к ним атрибут ajax=no,
т.к. это не валид хтмл
тем не менее не получается и это.
Здесь http://docs.jquery.com/Selectors
селекторы только для выделения элементов у которых атрибут не равен указанному свойству.
это не подходит. не могу же я везде приписывать атрибут ajax =\
помогите решить проблему
повесил на все ссылки аякс
$(document).ready(function(){
$("a").click(function(){
$('#data').load(this.href);
return false;
});
});
хочу сделать так, чтобы можно было отключать его для некоторых ссылок.
не лучший способ- добавлять к ним атрибут ajax=no,
т.к. это не валид хтмл
тем не менее не получается и это.
Здесь http://docs.jquery.com/Selectors
селекторы только для выделения элементов у которых атрибут не равен указанному свойству.
это не подходит. не могу же я везде приписывать атрибут ajax =\
помогите решить проблему
Самый простой вариант, это присваивать ссылкам ( те что не должны обрабатываться аяксом) определенный класс, благо их можно даже несколько прицепить
А в самой функц ии обработки онклика, проверять this(элемент вызвавший данное событие) не являеться ли он принадлежащем классу, при котором НЕ нужно обрабатываь событие
if($(this).css(class) != 'noAjax')
if(this.css(class) != 'noAjax')
if(this.attr(class) != 'noAjax')
if(this.attr("class") != 'noAjax')
не работает =\
может потому что у большинства ссылок вообще класса нет?
попробовал сделать так:
if(this.title != 'Внешняя ссылка ->')
$('#data').load(this.href);
ссылка ваще не работает
и ещё у меня почему-то многократно вызывается click(function())
после того как я дважды перейду по таким ссылкам
т.е. я ставлю алерт(click()) в вызов click(), щёлкаю по одной ссылке и алерт вылазит один раз.
потом щёлкаю по другой.
потом снова по первой и алерт вылазит до шести раз.
причем он то пишет содержимое функции клик - тело какой-то функции, наверное из джиквери, то пустую строку =\
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
//$('#data').load(this.href);
if( $(this).attr("class")!="noajax" )
alert("Ajax");
return false;
});
});
</script>
<a href="#">Событие сработает</a> |
<a href="#" class="noajax">Событие НЕ сработает</a>
Если хочешь через title, то попробуй не this.attr("title"), а $(this).attr("title")
Но через классы удобнее, причем классов можно и несколько назначать (в таком случае нужно несколько усложнить условие проверки)
я по всякому пробовал
сделай рабочий пример? :)
я по всякому пробовал
сделай рабочий пример? :)
Так вверху РАБОЧИЙ пример :)
<script type="text/javascript" src="/javascripts/jquery.js"></script> - не забудь указать свой путь
Напиши в личку, если что не получается
пример нерабочий :)
проверял в опере 9.2
первая ссылка - страница дёргаеццо в перезагрузке,
вторая ссылка - ваще ничо не происходит
если изменить вторую ссылку на #2 - урл меняется на #2 и всё
сорри, разбираться некогда - ща спать завалюсь
пример нерабочий :)
проверял в опере 9.2
первая ссылка - страница дёргаеццо в перезагрузке,
вторая ссылка - ваще ничо не происходит
если изменить вторую ссылку на #2 - урл меняется на #2 и всё
сорри, разбираться некогда - ща спать завалюсь
СКРИПТ РАБОЧИЙ!
Отестировал еще раз во всех браузерах (в том числе и опера 9.50) - все отлично работает, я выложу в инет, сам посмотришь
___________________
http://edukation.com.ua/my.php
не веришь мне, дай ссылку другим
код тот же, в сурсе - посмотришь
---- вот код вообще уже и c подгрузкой
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
if( $(this).attr("class")!="noajax" ){
alert("Аякс");
$('#data').load($(this).attr("href"));
}
else {
alert("Класс noajax, ничего не происходит");
}
return false;
});
});
</script>
<a href="/test.php">Аяксом загружаем страницу</a> | <a href="#" class="noajax">Событие НЕ сработает</a>
<div id="data"></div>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot