2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 12:04 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Connector в сообщении #1462498 писал(а):
А здесь последний слеш был лишний.

Вот, именно в этом дело! :-)

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 18:09 


21/05/16
4292
Аделаида
Connector,
Используется синтаксис Javascript
let width = 500;
let height = 420;
let draw = document.createElementNS("http://www.w3.org/2000/svg", "svg");
draw.setAttributeNS(null, "viewBox", "0 0 " + width + " " + height);
draw.setAttributeNS(null, "width", width);
draw.setAttributeNS(null, "height", height);
game.append(draw);
let tail = document.createElementNS("http://www.w3.org/2000/svg", "polygon");
tail.setAttribute('points', '10,10 100,10 55,100');
tail.setAttribute('fill', 'orange');
tail.setAttribute('stroke', 'black');
tail.onclick = function(event) {
        alert('1');
};
draw.append(tail);
тоже не работает.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 18:47 


02/05/19
396
В таком случае вынужден констатировать, что код не воспроизводит проблему: у меня всё работает.
Ссылка на CodePen.

Возможно, ошибка где-то в остальном коде.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 19:01 


21/05/16
4292
Аделаида
Хм, так оно тоже работает. В моем коде потом дальше идет строчка game.innerHTML += '<br>';, и при добавлении ее в ваш CodePen оно ломается.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 19:57 
Заслуженный участник
Аватара пользователя


01/09/13
4318
kotenok gav в сообщении #1462754 писал(а):
потом дальше идет строчка game.innerHTML += '<br>';,

Это Вы очень плохо придумали...

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:00 


21/05/16
4292
Аделаида
https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML писал(а):
It does not reparse the element it is being used on, and thus it does not corrupt the existing elements inside that element.

Теперь ясно, кажется. Обычный innerHTML стирает обработчики.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:03 


02/05/19
396
kotenok gav,
Код:
innerHTML+=
это очень коварная штука — полностью перезаписывает содержимое элемента. Используйте метод insertAdjacentHTML.

-- 14.05.2020, 20:04 --

UPD. Вот именно.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:05 


21/05/16
4292
Аделаида
Уррррра! Теперь работает!!
Geen, Connector, спасибо!

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:05 
Заслуженный участник
Аватара пользователя


01/09/13
4318
kotenok gav в сообщении #1462773 писал(а):
https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML писал(а):
It does not reparse the element it is being used on, and thus it does not corrupt the existing elements inside that element.

Теперь ясно, кажется. Обычный innerHTML стирает обработчики.

Вы навесили обработчик через JS и нет способа отобразить это в виде HTML атрибутов.

-- 14.05.2020, 20:11 --

вообще, лучше избегать использовать innerHTML и аналоги без нужды. Нужда может быть когда Вы хотите вставить очень большой кусок HTML, например, большую таблицу заполнили или список - в этом случае будет быстрее за счёт того, что DOM дерево не будет перестраиваться. А иначе больше времени уйдёт на парсинг. Кроме того, через HTML не получится эффективно навесить обработчики - на каждый аттрибут с кодом создаётся своя уникальная функция из указанной строки.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 19:04 


21/05/16
4292
Аделаида
Вот еще вопрос возник:
https://jsfiddle.net/nbd1wkfv/ (не работает даже при замене двух строчек перед комментарием на закомментированные)
При нажатии на квадрат в месте должен появляться кружок color-picker-square-picker, но не появляется.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:23 
Заслуженный участник
Аватара пользователя


01/09/13
4318
А какого размера у Вас picker?

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:26 


21/05/16
4292
Аделаида
Кружок - 7 на 7 пикселей. Сам квадрат - 100 на 100.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:27 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Что именно 100 на 100?

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:27 


21/05/16
4292
Аделаида
Пикселей.

 Профиль  
                  
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:31 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Так, прошу прощения - не то увидел в коде...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group