Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование, т. 5.1.

Рекомендованные сообщения

тогда к чему был этот дурацкий вопрос от димана как это сделать без таймера?

Просто думал может есть какой супер хитрый способ.

emoticon-00148-yes.gif

Поделиться сообщением


Ссылка на сообщение

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Бля, я придумал хитровыебанный способ. Те не прав! Дурак знает будет ли он нажимать второй раз или нет. Нам надо лишь прочитать его мысли и обработать их.

 

Правда для этого надо будет пациенту надевать железную хуйню на голову, а обрабатывать все должен супер-компьютер, но зато без интервалов и хитровыебанно!


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение
http://jsfiddle.net/SHFvU/1/ В душе не ебу как даблклик реализован в джеквери, но блять всё заебись работает, а если кому то не нравится, то тот лах и любит ебать себе мозг.

Такой вариант без проблем сделали. Сложнее сделать обратный вариант.

Поделиться сообщением


Ссылка на сообщение
http://jsfiddle.net/SHFvU/1/ В душе не ебу как даблклик реализован в джеквери, но блять всё заебись работает, а если кому то не нравится, то тот лах и любит ебать себе мозг.

Такой вариант без проблем сделали. Сложнее сделать обратный вариант.

какой обратный? какая разница


ea9cfc2a8fd28fed94eac49d3e83bf58.gif

Поделиться сообщением


Ссылка на сообщение

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

Поделиться сообщением


Ссылка на сообщение

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

в десктопах просто есть такой ивент


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

в десктопах просто есть такой ивент

В джаваскрипте тоже есть. Но он вызывается только после ClickEvent. Т.е. в любом случае произойдет редирект.

Поделиться сообщением


Ссылка на сообщение

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

Ну у 2поя неявное было.

Поделиться сообщением


Ссылка на сообщение

вот набрасал, можно добавить еще кучу сахара который вам нужен

 

var timersCollection = (function () {
  var timers = [];

  function Timer (type, func, time, callback) {
  var self = this,
	  f = type === 'interval' ? setInterval : setTimeout;

  this.type = type;
  this.isActive = true;
  this.time = time;
  this.action = func;
  this._callback = callback;

  this.id = f.call(null, function () {
	 func.call(null);

	 if(type === 'timeout') {
	    self.isActive = false;
	    self._callback.call(null, self);
	 }
  }, time);
  }

  Timer.prototype.cancel = function () {
  var fCancel = this.type === 'interval' ? clearInterval : clearTimeout;
  fCancel.call(null, this.id);
  this.isActive = false;
  this._callback.call(null, this);
  };


  function TimerCollection () {}

  TimerCollection.prototype.add = function (type, func, time, callback) {
  callback = callback || function () {}; // optional callback when timer disabled
  var timer = new Timer(type, func, time, callback);
  timers.push(timer);
  return timer;
  };

  TimerCollection.prototype.addInterval = TimerCollection.prototype.add.bind(TimerCollection, 'interval');

  TimerCollection.prototype.addTimeout = TimerCollection.prototype.add.bind(TimerCollection, 'timeout');

  TimerCollection.prototype.getActive = function (type) {
  return timers.filter(function (timer) {
	 return timer.isActive && timer.type === type;
  });
  };

  return new TimerCollection();
}());

// ex
timersCollection.addTimeout(
  alert.bind(null, 'Я сработал!'), 300, alert.bind(null, 'А я каллбек')
);

//ex2 интервал которого отключили
var timer = timersCollection.addInterval(alert.bind(null, 'А я не успею сработать :('), 300);
// отключаем
timersCollection.addTimeout(timer.cancel.bind(timer), 200, alert.bind(null, 'Отключение интервала прошло успешно!'));

 

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

в десктопах просто есть такой ивент

В джаваскрипте тоже есть. Но он вызывается только после ClickEvent. Т.е. в любом случае произойдет редирект.

Пацаны пишут на жс и не знают про event.preventDefault() ?


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение
(изменено)

а выделить путем задерживания никак?

зачем городить даблклик?

 

Опера вообще из коробки это умеет


Изменено пользователем Kant

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)

ну даже дураку понятно, что в момент первого нажатия не известно будет ли второе

Тем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.

в десктопах просто есть такой ивент

В джаваскрипте тоже есть. Но он вызывается только после ClickEvent. Т.е. в любом случае произойдет редирект.

Пацаны пишут на жс и не знают про event.preventDefault() ?

Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты :nate:


Изменено пользователем DIMAN123456789

Поделиться сообщением


Ссылка на сообщение

я тоже на хабре это видел

Поделиться сообщением


Ссылка на сообщение

Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты :nate:

Да с чего блять городить. Это абсолютно нормальная и необходимая часть языка. Ни один нормальный фреймворк без них не обходится. Тем более сложные системы.

 

А все эти ваши "никонтролируется", "нипонять" это какое-то ребячество пацанав которые не писали на жс что-нибудь нормальное.


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение

Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты :nate:

Да с чего блять городить. Это абсолютно нормальная и необходимая часть языка. Ни один нормальный фреймворк без них не обходится. Тем более сложные системы.

 

А все эти ваши "никонтролируется", "нипонять" это какое-то ребячество пацанав которые не писали на жс что-нибудь нормальное.

У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов?

Поделиться сообщением


Ссылка на сообщение

Да. В моем рабочем проекте в мобильном приложении тысячи элементов одновременно и гора логики и эвентов (ибо бесконечный скролл). Все модульно и понятно. И на мобильнике работает шустро.

 

А все потому что я не ставлю перед собой ебнутых требований.

 

Интервал и таймаут работают так же как и все функции, ибо у жса поток/стек один на всех.


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение

Да. В моем рабочем проекте в мобильном приложении тысячи элементов одновременно и гора логики и эвентов (ибо бесконечный скролл). Все модульно и понятно. И на мобильнике работает шустро.

 

А все потому что я не ставлю перед собой ебнутых требований.

 

Интервал и таймаут работают так же как и все функции, ибо у жса поток/стек один на всех.

Потому что твое приложение, это монолитное решение для которого есть конкретные требования. Мы же поставляем фреймверк, на котором пишут монолитные решения и требования заранее не известны. Завтра придет новый заказчик и скажет что часть его функционала написана на flex, а другая часть на аплетах и им нужен доступ к нашим элементам управления и чтобы все збс работало, но они не хотят за это доплачивать. Потом придет третий и скажет что у него фронтэнд написан на лайфрее за 50 млн баксов и ему нужно встроить наши компоненты в его систему и чтобы опять же все работало збс, чтобы данные тягались из 5ти разных систем и отображались в одной таблице (к js-у это конечно слабое имеет отношения, я про данные, но мы не знаем заранее с какими системами придется работать).

Поделиться сообщением


Ссылка на сообщение

У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов?

ну люди, которые эти ограничения ставили в первую очередь и должны нахуй послать заказчика с такими ахуенными заказами.

а вообще видел, я системы в которых вложили такой запас прочности, что они запускались только из под интернет эксплорера и в некоторых дроп даун листах выбрать значение можно было только с клавиотуры


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
(изменено)

У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов?

ну люди, которые эти ограничения ставили в первую очередь и должны нахуй послать заказчика с такими ахуенными заказами.

а вообще видел, я системы в которых вложили такой запас прочности, что они запускались только из под интернет эксплорера и в некоторых дроп даун листах выбрать значение можно было только с клавиотуры

Как ты пошлешь заказчика который готов платить миллионы баксов? Ты думаешь сейлзов ебёт что наша программа чего-то не может?

 

PS: У нас поддержка ie8+, chrome и FF :buba: А так же нашей системой могут пользоваться слепые люди :trollface:


Изменено пользователем DIMAN123456789

Поделиться сообщением


Ссылка на сообщение

я это написал к тому, что либо ребята пересмотрят свою политику насчет таймеров и посмотрят на фундаментальный принцип причинности (второе нажатие клавиши может влиять только на события, которые произойдут после нажатия, но не до него) либо объясняют заказчику почему они такие дебилы. а еще лучше пускай наймут толкового ux специалиста, который объяснит заказчику, что дабл клик в браузере - это хуевый тон.


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...