Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.01.2014, 16:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Посмотри как это сделано в jQuery
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #12 (permalink)  
Старый 10.01.2014, 01:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
this.addEventListener
Но при этом
Сообщение от Ruslan_xDD
e && e.target || window.event.srcElement
Как это понимать? Если ты не поддерживаешь IE8 (ибо в нем нет addEventListener), то нет смысла в window.event.

W3C модель: addEventListener + event.target
old IE модель: attachEvent + window.event.srcElement
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #13 (permalink)  
Старый 10.01.2014, 05:21
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, это я сюда тестовый пример кинул, я сам там для себя пишу мини-библиотеку, там всё это предусмотрено, а сюда просто написал понятный код, так как код из библы написан в стиле ниндзя и может быть не понятен.

.......
	_e = 'addEventListener' in w ? 'addEventListener' : 'attachEvent';
	_eD = dE.matches || dE.matchesSelector || dE.webkitMatchesSelector || dE.oMatchesSelector || dE.mozMatchesSelector || dE.msMatchesSelector;
	.......
	.......
	.......
	e: function(a, b) { //event
		this[_e](a, b, false);
		return this;
	},
	eD: function(a, b, c) { //event delegate
		this.e(a, function(e) {
			var t = e && e.target || w.event.srcElement;
			while(t != this) {
				if(_eD.call(t, b)) {
					c.call(t, e);
					break;
				}
				t = t.parentNode;
			}
		});
		return this;
	},
	.......

Последний раз редактировалось ruslan_mart, 10.01.2014 в 05:44.
Ответить с цитированием
  #14 (permalink)  
Старый 10.01.2014, 06:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну мог бы хотя бы необфусцированный код показать. Или ты так и пишешь ?

Сообщение от Ruslan_xDD
while(t != this) {
В IE8 this будет указывать на window, а не на event.currentTarget
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #15 (permalink)  
Старый 10.01.2014, 12:48
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, я сразу так и пишу, a,b,c и т.д., так как для себя пишу, мне лично всё понятно будет.

Сообщение от danik.js
В IE8 this будет указывать на window, а не на event.currentTarget
Сколько же проблем с этими ослами.
Ответить с цитированием
  #16 (permalink)  
Старый 10.01.2014, 14:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
danik.js, я сразу так и пишу, a,b,c и т.д., так как для себя пишу, мне лично всё понятно будет.
Не обольщайся. Через месяц ты спросишь: блядь, я че, бухой был, когда писал это? Код очень быстро забывается, и то, что ты отлично понимаешь сегодня, завтра будет выглядеть как какая-то шифровка.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #17 (permalink)  
Старый 10.01.2014, 14:15
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от danik.js Посмотреть сообщение
то, что ты отлично понимаешь сегодня, завтра будет выглядеть как какая-то шифровка.
вот в этом и отличие хорошего кода от просто кода
Ответить с цитированием
  #18 (permalink)  
Старый 10.01.2014, 14:16
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, да, бывает такое, когда смотрю старые исходники, которые писал около месяца назад и вообще ничего не понимаю. Но сейчас я стараюсь оставлять комментарии, чтобы не запутаться. Только вот когда уже буду ставить скрипт на сайт, то все комментики потру и всё сделаю в одну строку. Я конечно понимаю, что код мой нафиг никому не нужен будет, но сделаю так из принципа.

Последний раз редактировалось ruslan_mart, 10.01.2014 в 14:19.
Ответить с цитированием
  #19 (permalink)  
Старый 10.01.2014, 15:17
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
я стараюсь оставлять комментарии, чтобы не запутаться
Есть мнение что комментарии - признак плохого кода. Хороший код должен быть понятен и без комментов. Как минимум нужно давать понятные имена переменным.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #20 (permalink)  
Старый 10.01.2014, 15:24
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, ну это то понятно, я оставляю комментарии около самих ф-ций, чтобы не вспоминать, что она означатает. Например: cA - это classAdd, eD - eventDelegate и т.д.

Сообщение от danik.js
Есть мнение что комментарии - признак плохого кода.
Сам комментарии именно к коду никогда не использую, а если использую, то только когда заказщик попросит описать ему код.

Последний раз редактировалось ruslan_mart, 10.01.2014 в 15:28.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет события Click на дочернем элементе, кот. находится за рамками родителя Smokvin Events/DOM/Window 11 10.11.2013 01:53
Алгоритм работы обработчика события salikoff Events/DOM/Window 1 20.09.2012 23:46
Создание глобального события kez jQuery 1 17.09.2012 11:49
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54