Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.02.2014, 20:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Эллурн Посмотреть сообщение
На сайте, с которым я работаю, не обнаружил ни того, ни другого.
Ты не с сайтом работай... А с тестовым примером.
На сайте ты уже накосячил, да так, что даже найти косяк не в состоянии... А пример пока работает правильно. Т.ч. наращивая его у тебя есть все шансы найти свой косяк.
Ответить с цитированием
  #12 (permalink)  
Старый 06.02.2014, 21:56
Аспирант
Отправить личное сообщение для Эллурн Посмотреть профиль Найти все сообщения от Эллурн
 
Регистрация: 31.03.2010
Сообщений: 30

К счастью или к сожалению, сайт делал не я. "Мелкие доработки" типового решения сторонних разработчиков под одну из CMS выливаются в целую эпопею из-за непредусмотрительности тех самых разработчиков. Эта ошибка уже была на сайте, когда я за него взялся.
Пример некомпетентности: сейчас увидел, что, чтобы достать маленькую табличку, они аяксом подгружают целиком главную страницу (маленькая фича: если бы они использовали буферизацию вывода, нагрузка на сервер снизилась бы в разы, так же как и время загрузки данных, которое сейчас составляет больше секунды; а ведь еще можно учесть, что нужный им кусок страницы находится в шапке сайта).

Ну что же, буду изображать школоло Первый пример сделаю, когда покушаю.
Ответить с цитированием
  #13 (permalink)  
Старый 06.02.2014, 22:43
Аспирант
Отправить личное сообщение для Эллурн Посмотреть профиль Найти все сообщения от Эллурн
 
Регистрация: 31.03.2010
Сообщений: 30

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function (){
	$(".btn").click(function(event) {
		event.preventDefault();
                console.log("Click!");
	})
});
</script>
</head>
<body>
<button class="btn">Click me!</button>
</body>
</html>

Выдает по одному клику за раз.

Расположенная на целевой странице функция
$("некоторые_селекторы").click(function(event) {
		event.preventDefault();
		console.log("Click!");
	})

Выдает 2 клика за раз. Наверняка происходит вся гадость где-то в подключенных скриптах, а это в основном минимизированные библиотеки, коих немало. В читабельных скриптах на быстрый взгляд ничего подозрительного не нашел, брейкпоинты тоже ничего не дали.

Что интересно (только сейчас это проверил): если функцию подключить после загрузки страницы в консоли (а не в файле .js), то клик проходит только 1 раз. Не мучайте, подскажите, как найти, пожалуйста =)
Ответить с цитированием
  #14 (permalink)  
Старый 06.02.2014, 22:50
Аспирант
Отправить личное сообщение для Эллурн Посмотреть профиль Найти все сообщения от Эллурн
 
Регистрация: 31.03.2010
Сообщений: 30

Всем спасибо Методом научного тыка нашел, что часть скриптов через API CMS подключается-таки дважды. На кол надо сажать таких разработчиков... Неделю времени убил на эту хрень, ибо в коде помойка натуральная.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие onload SP7 Общие вопросы Javascript 4 10.11.2013 23:50
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Двойное событие в одну и туже координату Basota Events/DOM/Window 2 31.08.2012 21:02
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20