Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

JavaScript. Как убрать введённый текст ?

2293  1 2 3 4 все
bergamotte прохожий21.03.21 08:20
NEW 21.03.21 08:20 
в ответ Феврунья 20.03.21 23:40

Ваш массив listeners должен состоять из функций, а не строк, то есть у каждого имени функции нужно убрать кавычки. Разумеется эти функции должны быть созданы выше, чтобы на них можно было бы ссылаться как на переменные.

Вторым аргументом у метода addEventListener должна передаваться функция, а вы передаете на каждой итерации элемент вашего массива, то есть строку. Функция это тоже объект в JS, поэтому выводится такое вот сообщение об ошибке.

Тут подробнее https://developer.mozilla.org/en-US/docs/Web/API/EventTarg...

#61 
gendy Dinosaur21.03.21 08:46
gendy
NEW 21.03.21 08:46 
в ответ Феврунья 20.03.21 23:40

document.getElementById(i)


что должна вернуть эта функция? вы туда вообще даже не ид элемета передаёте. а непонятное число


но в принципе всё это неверно. всем квадратам нужно присвоить одинаковый класс , посадить листенер на класс и тогда ваша жуткая for шляйфа становится ненужной.

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#62 
Феврунья гость21.03.21 10:39
Феврунья
NEW 21.03.21 10:39 
в ответ bergamotte 21.03.21 08:20
Ваш массив listeners должен состоять из функций, а не строк, то есть у каждого имени функции нужно убрать кавычки.

Да, кавычки здесь действительно не нужны были ! Спасибо!

Функции все готовы, теперь работает.


#63 
Феврунья гость21.03.21 10:56
Феврунья
NEW 21.03.21 10:56 
в ответ gendy 21.03.21 08:46
document.getElementById(i), что должна вернуть эта функция? вы туда вообще даже не ид элемета передаёте. а непонятное число

Всё правильно передаётся, функция передаёт Id.

всем квадратам нужно присвоить одинаковый класс ...

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


#64 
NightWatch коренной житель21.03.21 12:37
NightWatch
NEW 21.03.21 12:37 
в ответ gendy 21.03.21 08:46
посадить листенер на класс

Как?

#65 
gendy Dinosaur21.03.21 13:46
gendy
NEW 21.03.21 13:46 
в ответ Феврунья 21.03.21 10:56

вот тут я окончательно запутался. зачем строкам листенеры? что должно происходить при клике по строкам?

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#66 
Феврунья гость21.03.21 14:52
Феврунья
NEW 21.03.21 14:52 
в ответ gendy 21.03.21 13:46
что должно происходить при клике по строкам

Вызывается соответствующая функция.

#67 
gendy Dinosaur21.03.21 15:02
gendy
NEW 21.03.21 15:02 
в ответ Феврунья 21.03.21 14:52, Последний раз изменено 21.03.21 15:06 (gendy)

И что делает эта функция?

Почему бы строкам не дать тогда форму линка?

< a href="#" onclick="foo">TEXT<. /a>

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#68 
Феврунья гость21.03.21 16:34
Феврунья
NEW 21.03.21 16:34 
в ответ gendy 21.03.21 15:02
И что делает эта функция? Почему бы строкам не дать тогда форму линка

У (почти) каждой строки своя функция. Линк не отключишь после выполнения функции, поэтому листенер.

#69 
gendy Dinosaur21.03.21 18:31
gendy
NEW 21.03.21 18:31 
в ответ Феврунья 21.03.21 16:34

Не понимаю, а зачем его отключать?

В функции можно сделать заглушку return false и всё

Только лучше все же сделать < td onclick="xxx" >

Думаю что убирать листенер после срабатывания не проще

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#71 
NightWatch коренной житель21.03.21 18:44
NightWatch
NEW 21.03.21 18:44 
в ответ gendy 21.03.21 18:31
Думаю что убирать листенер после срабатывания не проще

Не так уж и сложно.

element.addEventListener("click", clickHandler, { once: true });

#72 
Феврунья гость21.03.21 19:30
Феврунья
NEW 21.03.21 19:30 
в ответ gendy 21.03.21 18:31, Последний раз изменено 24.03.21 20:41 (Феврунья)
Не понимаю, а зачем его отключать?
Чтобы после внесения результата в одну строчку не кликались другие, я их выключу. После следующего броска должны включиться ещё не кликаные, для чего и сделан Array.
#73 
Феврунья гость21.03.21 19:40
Феврунья
NEW 21.03.21 19:40 
в ответ AlexNek 21.03.21 17:12

Спасибо, специально не гуглила, сама себе создаю трудности придумываю задания, чтобы учить язык.

Ту же игрушку во флэше 20 лет назад за день сделала... какой дурацкий синтаксис у явыскрипт... и голова не соображает тоже.

#74 
1 2 3 4 все