
Pavel
29.09.2016
20:46:26
Ну я уже делал так. Все то же самое было. Мб не правильно делал, но все же
за 2 дня я что только не пробовал

Wingman
29.09.2016
20:47:15
Хуево биндить одно и то же действие после наступления события, которое может произойти больше одного раза


Timur
29.09.2016
20:47:16
Павел.
Ну смотри. Допустим есть кнопка
<button id="submit" />
Ты можешь навесить на нее обработчик событий. Допустим на событие "клик"
$('#submit').click(function() {
console.log("Неведомая хуйня");
});
Всё, к кнопке привязан 1 обработчик. При клике по кнопке, он будет вызываться и в консоль выведется
Неведомая хуйня
Если мы снова вызовем этот блок
$('#submit').click(function() {
console.log("Неведомая хуйня");
});
То на кнопку навесится второй обработчик, предыдущий не удаляется. Теперь, при клике по кнопке, в консоль выведется
Неведомая хуйня
Неведомая хуйня
Чтобы такого дерьма не происходило, перед навешиванием обработчика, предыдущий надо удалять с помощью функции unbind(). Она принимает два параметра: тип события и имя предыдушего обработчика, но проблема в том, что у тебя в коде используется безымянная функция (он же обработчик), так что ты не сможешь ее найти, чтобы удалить. Поэтому дай функции имя, например mazafaka, и тогда ты сможешь удалить его вот так:
$('#submit').unbind('click', 'mazafaka');

Google

Wingman
29.09.2016
20:48:02
Все логично же

Pavel
29.09.2016
20:48:43
По моей логике функция капча должна растворится в воздухе после вызова функции гет трек

Wingman
29.09.2016
20:49:23
Схуя бы?)

Pavel
29.09.2016
20:49:38
Так. А как дать функции имя? captcha.find('#submit').click(function (name) { ?
Хуй знает, мой пхп-мозг так думает)
Для меня жс это магия на костылях на палках. Боюсь его до ужаса

Wingman
29.09.2016
20:50:34
Делай просто документ.он клик
Один раз
И все

Pavel
29.09.2016
20:51:19
окей

Timur
29.09.2016
20:51:30

Pavel
29.09.2016
20:51:40
ок

Google

Pavel
29.09.2016
20:51:52
А при документ.он клик он дубликатов не создает?

Timur
29.09.2016
20:52:25
Создает

Wingman
29.09.2016
20:53:25
Ну не
Главное создавай этот бинд отдельно, в глобальном жс

Timur
29.09.2016
20:53:56
var mazafaka = function (e) {
// Это твоя функция, он же обработчик
};
$('#submit').click(mazafaka);
Чтобы снять с кнопки этот обработчик, пишешь
$('#submit').unbind('click', mazafaka);

Wingman
29.09.2016
20:53:59
А не по событию или в цикле

Pavel
29.09.2016
20:55:56
Все, понял. А прямо внутри обьявления обработчика можно назвать?
Или только так

Timur
29.09.2016
20:56:25
может и можно, но мне в голову не приходит ничего

Pavel
29.09.2016
20:56:41
И где мне тогда снимать обработчик? После вызова гет трек?
или в конце функции showCaptcha
Реально ли вообще снять бинд внутри бинда?...
Под конец так сказать

Timur
29.09.2016
20:57:36
Прямо перед навешиванием обработчика можешь его снимать

Dead
29.09.2016
20:58:16
тот самый момент, когда зашел в php чат ?

Wingman
29.09.2016
20:58:19
А зачем снимать его?

Pavel
29.09.2016
20:58:28
))
Ну, чтобы не было несколько запросов за один клик

Timur
29.09.2016
20:58:42

Wingman
29.09.2016
20:58:56
Так он у него одинаковый

Google

Wingman
29.09.2016
20:59:11
Смысл перевешивать?

Timur
29.09.2016
20:59:38
Он одинаковый, но навешивает он его два раза. Почему навешивает два раза? Не знаю, не разбирался, я лишь даю ответ.
$('#submit').unbind('click', mazafaka);
$('#submit').click( mazafaka);
Тут обработчик будет навешиваться всегда только один раз, потому что предыдущий будет всегда удаляться
Пусть меняет логику

Wingman
29.09.2016
21:00:38

Timur
29.09.2016
21:00:57
Навешивать клик на весь документ? Зачем?

Wingman
29.09.2016
21:00:59
Ничё больше не надо ни вешать, ни снимать

Pavel
29.09.2016
21:01:19
Он не всегда же нужен

Wingman
29.09.2016
21:01:28
В смысле документ.он.клик(сабмит

Timur
29.09.2016
21:02:02

Wingman
29.09.2016
21:02:07

Pavel
29.09.2016
21:02:33
Ну дк прикинь у меня таких кнопок сотни и все разные. Че их все в глобале держать?

Wingman
29.09.2016
21:03:00
$(document).on('click', '#submit', function(){})
Дак на разные кнопки - разные обработчики
Или ченить типа data-action="abc", а в обработчике проверять $(this).data('action')

Timur
29.09.2016
21:04:44

Pavel
29.09.2016
21:05:10
Да, я понял уже.
Спасибо всем

Wingman
29.09.2016
21:05:31
И ваще, сотни кнопок с одним Id? Нуну)

Google

Timur
29.09.2016
21:06:34

Pavel
29.09.2016
21:06:57
Да, знаю

F01134H
29.09.2016
21:09:50
https://moikrug.ru/vacancies/1000023324
php fullstack ?

Wingman
29.09.2016
21:11:28
лол
я доехал наконец
и кажется понял, в чем твоя проблема %)
@iSize1ce я правильно понимаю, что кнопки у тебя создаются динамически, в них - разные всякие sid/key, и поэтому ты пытаешься каждый раз создавать новую функцию-биндинг с разными sid/key?

Pavel
29.09.2016
21:13:06
Не, мне бинд разный не нужен. Я так сделал потому что псевдоинкубация
каждая функция за свой функционал отвечает

Admin
ERROR: S client not available

Pavel
29.09.2016
21:13:29
Но тут чет не сраслось

da horsie
29.09.2016
21:14:04
Волшебный мир жаваскрипта

Pavel
29.09.2016
21:14:08
Я щя просто создам бинд и разрушу

Wingman
29.09.2016
21:15:59
все равно изврат какой-то :)
функция-то одна и та же, откуда там "каждая за свой функционал"

Pavel
29.09.2016
21:22:16
Насколько это говнокод? http://prntscr.com/cnxt2m

Wingman
29.09.2016
21:24:24
изврат ;(

Sergey
29.09.2016
21:24:50
а ты как думал?

Google

f4rt~
29.09.2016
21:25:19

Pavel
29.09.2016
21:25:20
Вот только чет модальное окно не закрывается до конца

Sergey
29.09.2016
21:25:29
все делятся )

Pavel
29.09.2016
21:25:31
после пары кликов окно черное

Sergey
29.09.2016
21:25:43
и, в целом, это норм

f4rt~
29.09.2016
21:27:58

Sergey
29.09.2016
21:28:52
ну не знаю, я немного повернут на этом)
ну, если ты продаешь наркотики, детскую порнуху или занимаешься продвижением вредных идеологий типа фашизма...ну или способствуешь терроризму, то да за тобой будут следить
а если ты любишь вздрочнуть на порно и периодически девкам члены шлеш - это никому не интересно

Wingman
29.09.2016
21:29:59

Pavel
29.09.2016
21:30:58
А не лучше ли создать форму и не через клик а через сабмит?

f4rt~
29.09.2016
21:31:03

Wingman
29.09.2016
21:31:18
человек каждый раз бинд вешает на кнопку)

Sergey
29.09.2016
21:31:27

Wingman
29.09.2016
21:31:29
при показе модала

Sergey
29.09.2016
21:31:55
я считаю, что интернет тоже по паспорту надо выдавать
вот назвал ты меня, допустим, пидорасом

f4rt~
29.09.2016
21:32:15

Sergey
29.09.2016
21:32:17
а я вызвал милицию, прям к тебе

Pavel
29.09.2016
21:32:26
не, я понял что бинд вешается постоянно
ну просто придется же еще на ентер биндить
как полноценную форму
есть же бинд сабмит? или это в jquery только .submit есть