Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.10.2010, 12:48
Интересующийся
Отправить личное сообщение для JIEXA Посмотреть профиль Найти все сообщения от JIEXA
 
Регистрация: 07.02.2010
Сообщений: 17

Jquery live не всегда срабатывает
Весит у меня обработчик событий, кликов по ссылкам, такой:

$("a:not(.nolink)").live('click', function(e){					
		var path = this.href.replace(/^.*#/, '');
		goPage(path);
		
		e.preventDefault();
	});


Но в куча народу жалуются, что у них не перехватывает событие клика по ссылке и переходит по ней...

Все, кто жалуются - сидят на Opera 10.62/10.63

Я пробовал в этой версии Opera - все работает.

Пробовал оборачивать его в document.ready() тогда жалоб еще больше.

Используется это дело в iframe-приложении Контакта - http://vkontakte.ru/app1905375

Из-за чего такая проблема может возникать и как можно побороть?

Всем заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 25.10.2010, 13:28
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

e.preventDefault(); не отработал. возможно ошибка в goPage(path); или this.href не string(хотя это врятли).

ведите лог ошибок на клиенте, только не сжимайте код в одну строчку иначе всегда ошибка будет в первой строчке.
window.onerror = function(a, b, c) {new Image().src = "/4tota/?err="+escape(a)+','+escape(b)+','+escape(c);}
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #3 (permalink)  
Старый 25.10.2010, 14:01
Интересующийся
Отправить личное сообщение для JIEXA Посмотреть профиль Найти все сообщения от JIEXA
 
Регистрация: 07.02.2010
Сообщений: 17

Сейчас попробую, но боюсь он забьется ошибками вида:

!:@8?BC <http://kontakter.me> >B:070=> 2 @07@5H5=88 =0 2K7>2 <5B>40 Location.toString =0 <http://vkontakte.ru>.

Которые возникают в FF из-за вставленного флеш-видео.

UPD: Хотя нет, не забьется, такие ошибки возникают только на localhost
Ответить с цитированием
  #4 (permalink)  
Старый 25.10.2010, 14:16
Интересующийся
Отправить личное сообщение для JIEXA Посмотреть профиль Найти все сообщения от JIEXA
 
Регистрация: 07.02.2010
Сообщений: 17

Вот первый лог http://dumpz.org/23441/

Куча левых ошибок, в подключаемых скриптах, они как-то могут влиять на сробатывание live?
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2010, 17:34
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

JIEXA, если до e.preventDefault(); произошла ошибка то естественно отмены события браузера не будет. live тут не причем.

e.preventDefault(); можно перенести в начало функции тогда хотяб перехода по ссылки браузером не будет. но это ошибки не исправит.

скорее всего ошибка в коде функции goPage или кудато туда дольше.
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #6 (permalink)  
Старый 25.10.2010, 17:50
Интересующийся
Отправить личное сообщение для JIEXA Посмотреть профиль Найти все сообщения от JIEXA
 
Регистрация: 07.02.2010
Сообщений: 17

Спасибо за помощь. Попробую перенести выше.

Функция goPage проста:

function goPage(path) {
	VK.callMethod("setLocation", path);
	
	var h = window.location.href;
	var h = h.split('post_id').join('nepost_id');
	var href = h.substr(0, h.indexOf('&hash=') + 6) + escape(path);

	window.location.href = href;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 07:01
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 20:29
jquery и live herba jQuery 2 19.06.2010 13:00
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 20:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 17:16