Size: a a a

JavaScript — русскоговорящее сообщество

2020 March 02

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Всем привет!
Забыл и не могу нагуглить, как обойти такой момент с циклами? Нужно в complete получить доступ к нужному input, а там как вы понимаете всегда последний input.
Пытался найти в this html элемент, но нет(
var telephoneInputs = document.querySelectorAll('input[name="tel"]');

for (var i=0; i<telephoneInputs.length; i++){
 IMask(telephoneInputs[i], {
   mask: '+{7}(000)000-00-00'
 }).on('complete', function () {
   console.log(i);
 });
}
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Romanovskiy
Всем привет!
Забыл и не могу нагуглить, как обойти такой момент с циклами? Нужно в complete получить доступ к нужному input, а там как вы понимаете всегда последний input.
Пытался найти в this html элемент, но нет(
var telephoneInputs = document.querySelectorAll('input[name="tel"]');

for (var i=0; i<telephoneInputs.length; i++){
 IMask(telephoneInputs[i], {
   mask: '+{7}(000)000-00-00'
 }).on('complete', function () {
   console.log(i);
 });
}
замени var на let
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
или вообще все замени на forEach
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Romanovskiy
Всем привет!
Забыл и не могу нагуглить, как обойти такой момент с циклами? Нужно в complete получить доступ к нужному input, а там как вы понимаете всегда последний input.
Пытался найти в this html элемент, но нет(
var telephoneInputs = document.querySelectorAll('input[name="tel"]');

for (var i=0; i<telephoneInputs.length; i++){
 IMask(telephoneInputs[i], {
   mask: '+{7}(000)000-00-00'
 }).on('complete', function () {
   console.log(i);
 });
}
замени for на forEach )
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Romanovskiy
Всем привет!
Забыл и не могу нагуглить, как обойти такой момент с циклами? Нужно в complete получить доступ к нужному input, а там как вы понимаете всегда последний input.
Пытался найти в this html элемент, но нет(
var telephoneInputs = document.querySelectorAll('input[name="tel"]');

for (var i=0; i<telephoneInputs.length; i++){
 IMask(telephoneInputs[i], {
   mask: '+{7}(000)000-00-00'
 }).on('complete', function () {
   console.log(i);
 });
}
Можно в iife передавать индекс, так он всегда будет правильным. Ну а вообще проще всего заменить на let
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Anton Permyakov
замени var на let
Это работает, но хочется остаться на ES5, чтобы работал uglify.  Если не получится, то применю let и порублю бабель.
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Evgen
замени for на forEach )
пришлось forEach сменить на for, из-за проблем на IE(
источник

AI

Anton Ignatev in JavaScript — русскоговорящее сообщество
Romanovskiy
Это работает, но хочется остаться на ES5, чтобы работал uglify.  Если не получится, то применю let и порублю бабель.
Если браузерная поддержка ES6 не критична, то можешь просто заменить uglify на terser и использовать новые плюшки
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Romanovskiy
Это работает, но хочется остаться на ES5, чтобы работал uglify.  Если не получится, то применю let и порублю бабель.
оставаться на ес5 ради депрекейтнутой либы?
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Anton Ignatev
Если браузерная поддержка ES6 не критична, то можешь просто заменить uglify на terser и использовать новые плюшки
спасибо, почитаю!
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Anton Ignatev
Если браузерная поддержка ES6 не критична, то можешь просто заменить uglify на terser и использовать новые плюшки
А можешь в начале сдать с помощью терсера, потом с помощью ugly))
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Romanovskiy
пришлось forEach сменить на for, из-за проблем на IE(
Какая жаль ) Но есть же полифилы
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Romanovskiy
пришлось forEach сменить на for, из-за проблем на IE(
А какой тебе ie нужен?)
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Переведи нодлист в массив и играй с форычем
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Evgen
Какая жаль ) Но есть же полифилы
Есть всё) просто хотелось разобраться в базе, как раньше то делали.
Я же не ошибаюсь, никак не решить нативкой, только если в this нет html элемента?
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Kenan Ayvazov
А какой тебе ie нужен?)
11. Более старые не смотрел
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Romanovskiy
11. Более старые не смотрел
Ну в ie11 форыч должен работать
источник

R

Romanovskiy in JavaScript — русскоговорящее сообщество
Kenan Ayvazov
Переведи нодлист в массив и играй с форычем
Кстати как вариант, да. Спасибо
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Он даже в ie9 работает
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
Ты че
источник