TheDeadSkin #521 18 сентября 2013 тогда к чему был этот дурацкий вопрос от димана как это сделать без таймера?Просто думал может есть какой супер хитрый способ. Поделиться сообщением Ссылка на сообщение
Двапой #522 18 сентября 2013 ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеБля, я придумал хитровыебанный способ. Те не прав! Дурак знает будет ли он нажимать второй раз или нет. Нам надо лишь прочитать его мысли и обработать их. Правда для этого надо будет пациенту надевать железную хуйню на голову, а обрабатывать все должен супер-компьютер, но зато без интервалов и хитровыебанно! Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #523 18 сентября 2013 http://jsfiddle.net/SHFvU/1/ В душе не ебу как даблклик реализован в джеквери, но блять всё заебись работает, а если кому то не нравится, то тот лах и любит ебать себе мозг. Такой вариант без проблем сделали. Сложнее сделать обратный вариант. Поделиться сообщением Ссылка на сообщение
Nekon #524 18 сентября 2013 http://jsfiddle.net/SHFvU/1/ В душе не ебу как даблклик реализован в джеквери, но блять всё заебись работает, а если кому то не нравится, то тот лах и любит ебать себе мозг. Такой вариант без проблем сделали. Сложнее сделать обратный вариант.какой обратный? какая разница Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #525 18 сентября 2013 ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеТем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов. Поделиться сообщением Ссылка на сообщение
rubish #526 18 сентября 2013 ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеТем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.в десктопах просто есть такой ивент Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #527 18 сентября 2013 ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеТем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.в десктопах просто есть такой ивентВ джаваскрипте тоже есть. Но он вызывается только после ClickEvent. Т.е. в любом случае произойдет редирект. Поделиться сообщением Ссылка на сообщение
DeadMage #528 18 сентября 2013 ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеТем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.Ну у 2поя неявное было. Поделиться сообщением Ссылка на сообщение
Двапой #529 18 сентября 2013 вот набрасал, можно добавить еще кучу сахара который вам нужен 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 #530 18 сентября 2013 (изменено) а выделить путем задерживания никак?зачем городить даблклик? Опера вообще из коробки это умеет Изменено 18 сентября 2013 пользователем Kant Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Двапой #531 18 сентября 2013 Опять ты со своей оперой. Она умерла, забудь. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #532 18 сентября 2013 (изменено) ну даже дураку понятно, что в момент первого нажатия не известно будет ли второеТем не менее в десктопах это реализовано. Пусть даже это и зашито через внутренние таймауты. У нас было ограничение на _явное_ использование таймаутов.в десктопах просто есть такой ивентВ джаваскрипте тоже есть. Но он вызывается только после ClickEvent. Т.е. в любом случае произойдет редирект.Пацаны пишут на жс и не знают про event.preventDefault() ?Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты Изменено 18 сентября 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
Двапой #534 18 сентября 2013 Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты Да с чего блять городить. Это абсолютно нормальная и необходимая часть языка. Ни один нормальный фреймворк без них не обходится. Тем более сложные системы. А все эти ваши "никонтролируется", "нипонять" это какое-то ребячество пацанав которые не писали на жс что-нибудь нормальное. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #535 18 сентября 2013 Конечно знают про превентДефалт и про stopPropagation и про stopImmediatePropagation. Вот только это не сильно поможет. Потому что если ты делаешь привентДефалт, то как узнать что не было второго клика вслед за первым и нужно вызвать редирект? Опять же городить интервалы/таймауты Да с чего блять городить. Это абсолютно нормальная и необходимая часть языка. Ни один нормальный фреймворк без них не обходится. Тем более сложные системы. А все эти ваши "никонтролируется", "нипонять" это какое-то ребячество пацанав которые не писали на жс что-нибудь нормальное.У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов? Поделиться сообщением Ссылка на сообщение
Двапой #536 18 сентября 2013 Да. В моем рабочем проекте в мобильном приложении тысячи элементов одновременно и гора логики и эвентов (ибо бесконечный скролл). Все модульно и понятно. И на мобильнике работает шустро. А все потому что я не ставлю перед собой ебнутых требований. Интервал и таймаут работают так же как и все функции, ибо у жса поток/стек один на всех. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #537 18 сентября 2013 Да. В моем рабочем проекте в мобильном приложении тысячи элементов одновременно и гора логики и эвентов (ибо бесконечный скролл). Все модульно и понятно. И на мобильнике работает шустро. А все потому что я не ставлю перед собой ебнутых требований. Интервал и таймаут работают так же как и все функции, ибо у жса поток/стек один на всех.Потому что твое приложение, это монолитное решение для которого есть конкретные требования. Мы же поставляем фреймверк, на котором пишут монолитные решения и требования заранее не известны. Завтра придет новый заказчик и скажет что часть его функционала написана на flex, а другая часть на аплетах и им нужен доступ к нашим элементам управления и чтобы все збс работало, но они не хотят за это доплачивать. Потом придет третий и скажет что у него фронтэнд написан на лайфрее за 50 млн баксов и ему нужно встроить наши компоненты в его систему и чтобы опять же все работало збс, чтобы данные тягались из 5ти разных систем и отображались в одной таблице (к js-у это конечно слабое имеет отношения, я про данные, но мы не знаем заранее с какими системами придется работать). Поделиться сообщением Ссылка на сообщение
rubish #538 18 сентября 2013 У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов?ну люди, которые эти ограничения ставили в первую очередь и должны нахуй послать заказчика с такими ахуенными заказами. а вообще видел, я системы в которых вложили такой запас прочности, что они запускались только из под интернет эксплорера и в некоторых дроп даун листах выбрать значение можно было только с клавиотуры Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #539 18 сентября 2013 (изменено) У тебя какой-то юношеский масимализм. Неспроста же это все взято, не с потолка эти ограничения созданы. Это очень долго объяснять, но разработки одного человека для себя, очень сильно отличаются от разработки системы в которую вкладывают запас прочности на ближайшие 3-5 лет с таким расчетом, что её выдадут на кучу проектов и люди смогут под себя хуярить код, который бы покрывал все требования их безумных бизнес аналитиков, да еще чтобы не было лагов и задержек при работе системы. Мы же не хуй собачий пишем, или ты считаешь что ты сможешь один прийти, и заменить собой 50 девов и 30 тестеров? Написать идеальную CRM систему, которая будет работать на всех браузерах с временем отклика не более 250 мс на экран при наличии сотен элементов и тысяч экшенов?ну люди, которые эти ограничения ставили в первую очередь и должны нахуй послать заказчика с такими ахуенными заказами.а вообще видел, я системы в которых вложили такой запас прочности, что они запускались только из под интернет эксплорера и в некоторых дроп даун листах выбрать значение можно было только с клавиотурыКак ты пошлешь заказчика который готов платить миллионы баксов? Ты думаешь сейлзов ебёт что наша программа чего-то не может? PS: У нас поддержка ie8+, chrome и FF А так же нашей системой могут пользоваться слепые люди Изменено 18 сентября 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение
rubish #540 18 сентября 2013 я это написал к тому, что либо ребята пересмотрят свою политику насчет таймеров и посмотрят на фундаментальный принцип причинности (второе нажатие клавиши может влиять только на события, которые произойдут после нажатия, но не до него) либо объясняют заказчику почему они такие дебилы. а еще лучше пускай наймут толкового ux специалиста, который объяснит заказчику, что дабл клик в браузере - это хуевый тон. Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение