ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

jquery - как отключить аякс на ссылке?
  #1  
Старый 02.08.2008, 18:36
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию jquery - как отключить аякс на ссылке?

повесил на все ссылки аякс
PHP код:
$(document).ready(function(){
$(
"a").click(function(){
    $(
'#data').load(this.href);
    return 
false;
});
}); 
хочу сделать так, чтобы можно было отключать его для некоторых ссылок.
не лучший способ- добавлять к ним атрибут ajax=no,
т.к. это не валид хтмл
тем не менее не получается и это.

Здесь http://docs.jquery.com/Selectors
селекторы только для выделения элементов у которых атрибут не равен указанному свойству.
это не подходит. не могу же я везде приписывать атрибут ajax =\

помогите решить проблему
 
Ответить с цитированием

  #2  
Старый 03.08.2008, 03:31
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Сообщение от Дикс  
повесил на все ссылки аякс
PHP код:
$(document).ready(function(){
$(
"a").click(function(){
    $(
'#data').load(this.href);
    return 
false;
});
}); 
хочу сделать так, чтобы можно было отключать его для некоторых ссылок.
не лучший способ- добавлять к ним атрибут ajax=no,
т.к. это не валид хтмл
тем не менее не получается и это.

Здесь http://docs.jquery.com/Selectors
селекторы только для выделения элементов у которых атрибут не равен указанному свойству.
это не подходит. не могу же я везде приписывать атрибут ajax =\

помогите решить проблему
Самый простой вариант, это присваивать ссылкам ( те что не должны обрабатываться аяксом) определенный класс, благо их можно даже несколько прицепить

А в самой функц ии обработки онклика, проверять this(элемент вызвавший данное событие) не являеться ли он принадлежащем классу, при котором НЕ нужно обрабатываь событие

Последний раз редактировалось Naydav; 03.08.2008 в 03:34..
 
Ответить с цитированием

  #3  
Старый 03.08.2008, 09:53
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

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(), щёлкаю по одной ссылке и алерт вылазит один раз.
потом щёлкаю по другой.
потом снова по первой и алерт вылазит до шести раз.
причем он то пишет содержимое функции клик - тело какой-то функции, наверное из джиквери, то пустую строку =\

Последний раз редактировалось Дикс; 03.08.2008 в 10:01..
 
Ответить с цитированием

  #4  
Старый 03.08.2008, 13:14
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Код:
<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")
Но через классы удобнее, причем классов можно и несколько назначать (в таком случае нужно несколько усложнить условие проверки)

Последний раз редактировалось Naydav; 03.08.2008 в 13:23..
 
Ответить с цитированием

  #5  
Старый 03.08.2008, 16:29
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

я по всякому пробовал
сделай рабочий пример?
 
Ответить с цитированием

  #6  
Старый 03.08.2008, 19:52
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Сообщение от Дикс  
я по всякому пробовал
сделай рабочий пример?
Так вверху РАБОЧИЙ пример
Цитата:
<script type="text/javascript" src="/javascripts/jquery.js"></script>
- не забудь указать свой путь

Напиши в личку, если что не получается

Последний раз редактировалось Naydav; 03.08.2008 в 19:55..
 
Ответить с цитированием

  #7  
Старый 03.08.2008, 21:45
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

пример нерабочий
проверял в опере 9.2
первая ссылка - страница дёргаеццо в перезагрузке,
вторая ссылка - ваще ничо не происходит
если изменить вторую ссылку на #2 - урл меняется на #2 и всё

сорри, разбираться некогда - ща спать завалюсь
 
Ответить с цитированием

  #8  
Старый 03.08.2008, 23:09
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
Сообщение от Дикс  
пример нерабочий
проверял в опере 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>

Последний раз редактировалось Naydav; 04.08.2008 в 12:48..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как измерить эффективность поискового продвижения baltazar Статьи 1 25.03.2008 20:13
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
Как использовать cross-site scripting (css) foreva Чужие Статьи 0 06.02.2005 19:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ