2014 dxdy logo

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

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




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

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

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 18:09 
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 
В таком случае вынужден констатировать, что код не воспроизводит проблему: у меня всё работает.
Ссылка на CodePen.

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

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 19:01 
Хм, так оно тоже работает. В моем коде потом дальше идет строчка game.innerHTML += '<br>';, и при добавлении ее в ваш CodePen оно ломается.

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 19:57 
Аватара пользователя
kotenok gav в сообщении #1462754 писал(а):
потом дальше идет строчка game.innerHTML += '<br>';,

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

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:00 
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 
kotenok gav,
Код:
innerHTML+=
это очень коварная штука — полностью перезаписывает содержимое элемента. Используйте метод insertAdjacentHTML.

-- 14.05.2020, 20:04 --

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

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:05 
Уррррра! Теперь работает!!
Geen, Connector, спасибо!

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение14.05.2020, 20:05 
Аватара пользователя
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 
Вот еще вопрос возник:
https://jsfiddle.net/nbd1wkfv/ (не работает даже при замене двух строчек перед комментарием на закомментированные)
При нажатии на квадрат в месте должен появляться кружок color-picker-square-picker, но не появляется.

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:23 
Аватара пользователя
А какого размера у Вас picker?

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:26 
Кружок - 7 на 7 пикселей. Сам квадрат - 100 на 100.

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:27 
Аватара пользователя
Что именно 100 на 100?

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

 
 
 
 Re: Неработающий код (HTML + JS)
Сообщение03.06.2020, 22:31 
Аватара пользователя
Так, прошу прощения - не то увидел в коде...

 
 
 [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group