Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.04.2020, 13:19
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Сообщение от laimas
Удобно, только имя функции в данном случае иное было бы как минимум.
Правильно.
Есть как бы три действия. add, remove, toggle.
Если с помощью последнего можно делать все, то какой смысл в существовании первых двух?

Сообщение от laimas
А если не хочется и ладно, но ведь и борщ не обязательно любят все, но это не значит, что он как блюдо не имеет право на существование.
Совершенно согласен.
Много чего есть, но это не значит, что этим надо пользоваться.
Я тут недавно разбирал и переделывал старый код на паскале. Я ошалел от with. Кому то это было удобно.
А with вроде еще и javascript остался. Правда не помню, что бы им кто то пользовался. Неужели кому то этот оператор неудобен и непонятен

Последний раз редактировалось voraa, 29.04.2020 в 13:24.
Ответить с цитированием
  #12 (permalink)  
Старый 02.05.2020, 12:58
Аватар для nastya97core
Аспирант
Отправить личное сообщение для nastya97core Посмотреть профиль Найти все сообщения от nastya97core
 
Регистрация: 04.04.2020
Сообщений: 60

подскажите, а как узнать через this, на какой по счёту элемент нажал человек?

qs(".form-input").forEach(el => { 
el.onclick = function(){
console.log(this.........);
}
});
Ответить с цитированием
  #13 (permalink)  
Старый 02.05.2020, 13:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

nastya97core,
qs(".form-input").forEach((el, i)=> { 
el.onclick = function(){
console.log(i);
}
});
Ответить с цитированием
  #14 (permalink)  
Старый 02.05.2020, 15:58
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от voraa
Есть функция функция appendChild(node), а чего бы ей не прикрутили еще один параметр, что бы она могла удалять элемент?
а.appendChild(b) - добавляет элемент
а.appendChild(b, false) - удаляет элемент
Почему метод, который называется «вставить ребёнка», должен удалять ребёнка? Для этого есть «убрать ребёнка» — removeChild. А вот если говорить про вставку/извлечение ребёнка одним методом, то как раз подошёл бы метод toggleChild, который мог бы в качестве второго параметра принимать булево значение, чтобы определить, так всё-таки вставить или извлечь ребёнка, что было бы полезно при реализации всяких переключателей.

Сообщение от laimas
а если 7-11 заменить на classList.toggle ?
Там можно только один toggle во всём примере!

Сообщение от voraa
И что в этом хорошего?
Т. е. у тебя везде по две кнопки — чтобы включить компьютер ты нажимаешь на одну кнопку, а чтобы выключить на другую? А у дверного звонка тоже две кнопки? Одна включает звонок, а другая выключает? Унитаз с двумя кнопками?

Сообщение от laimas
Это уже привередливость, а не доводы. А если не хочется и ладно, но ведь и борщ не обязательно любят все
Так нет же, очевидно, что посимвольная оплата! Это у него такие хитрые планы по зарабатыванию. А на toggle разве много заработаешь?

Сообщение от voraa
Много чего есть, но это не значит, что этим надо пользоваться.
Сообщение от voraa
старый код на паскале
Если ты откроешь секту программистов, то у тебя будут толпа преданных поклонников, которые будут разбирать твою старую писанину и прославлять твоё имя, платить 25% за твои откровения.

Сообщение от voraa
Если с помощью последнего можно делать все, то какой смысл в существовании первых двух?
Если нужно именно добавить, а не переключить. Если нужно только удалить, а не переключать. Всё-таки классы и элементы это тебе не унитаз!
Ответить с цитированием
  #15 (permalink)  
Старый 02.05.2020, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105


<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
.form-input:focus+label, .form-input.active+label{
     color: #FF00FF;
}
.form-input+label {
     color: #FFFFFF;
}
</style>
<script>
  addEventListener("blur", ({target}) => {
         if(target.closest && target.closest(".form-input"))  target.classList.toggle("active", !!target.value.trim())
  }, true)
</script>
</head>
<body>
<input type="text" class="form-input">
<label for="">выбрано</label>
<input type="text" class="form-input">
<label for="">выбрано</label>
<input type="text" class="form-input">
<label for="">выбрано</label>
<input type="text" class="form-input">
<label for="">выбрано</label>
<input type="text" class="form-input">
<label for="">выбрано</label>
</body>
</html>

Последний раз редактировалось рони, 03.05.2020 в 09:28.
Ответить с цитированием
  #16 (permalink)  
Старый 03.05.2020, 09:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

рони,
trim бы тоже не помешал. )
Ответить с цитированием
  #17 (permalink)  
Старый 03.05.2020, 09:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

laimas,
ок. добавил trim()
Ответить с цитированием
  #18 (permalink)  
Старый 03.05.2020, 09:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

И достаточно просто target.value.trim(), ибо возврат "пусто" тоже самое что false, иначе true.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать несколько кликов на кнопку? VaytonJS Javascript под браузер 1 19.11.2018 08:01
как сделать чтобы скрипт не спотыкался если какой то элемент не находит на странице? денис77447327 Общие вопросы Javascript 1 04.10.2017 17:10
Как сделать несколько условий в цикле Navigator Элементы интерфейса 12 02.08.2017 13:59
Как сделать так чтоб если в инпут ввести процент от 1 до 100, то... Влад Громов Общие вопросы Javascript 13 21.12.2014 17:03
Как сделать несколько полей подсказок для слайдера DaniBeiss Events/DOM/Window 1 23.06.2012 16:49