js и modern

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3374
Lora,
Я даже не пытался создавать конструкций parent #child.
Всё равно яваскрипт не увидит родителей #button, если он не видит сам #button.
Просто смотрел в панели разработчика, кто родитель выведенного на экран элемента.
И раньше-то на выведенные аяксом элементы события плохо вешались, а теперь и вовсе не вешаются.
Если разработчики подскажут почему так - буду очень признателен.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1793
Может это типа перходного периода.
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 3473
Решено?
Украинский для инстант
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4843
Ris:
Если разработчики подскажут почему так - буду очень признателен.
Можете перевести на наш суть проблемы?) Я так ничего и не понял, что не получается и при чём тут другой шаблон.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1463
Ris,
Вроде бы в модальном окне можно использовать
Код PHP:
  1.  
  2. <script>
  3. $('#button').on('click',function(){
  4. /* что-то */
  5. });
  6. </script>
  7.  
без буферизации
Делаю сайты, дополнения, верстаю, исправляю. skype:gdvden
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3374
Fuze:
Можете перевести на наш суть проблемы?
Пример проявления проблемы:
Требуется отправка комментариев по Ctrl+Enter.
Шаблон default : добавляем в низ файла \templates\default\controllers\comments\list.tpl.php
Спойлер
То есть добавляем на страницу списка комментариев яваскрипт, который по событию контрол-энтер на тексареа запускает сабмит. Всё работает.
Шаблон модерн. добавляем тот же код в тот же файл. Элемент textarea на странице присутствует, но событие $('textarea').on('keydown', function(event){ не срабатывает
Пришлось делать так:
Спойлер
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4074
Ris:
$('textarea').on('keydown', function(event){ не срабатывает
И причина тому, то что ваш код заявлен раньше, чем объявлена переменная $? Или другая ошибка в консоли?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3374
Loadырь:
И причина тому, то что ваш код заявлен раньше, чем объявлена переменная $?
Нет, конечно же я делал ожидание загрузки страницы на чистом яваскрипте.
Код JAVASCRIPT:
  1. document.addEventListener("DOMContentLoaded", () => {
Loadырь:
Или другая ошибка в консоли?
А нету никаких ошибок в консоли. Как будто textarea отсутствует на странице.
Можно написать
Код JAVASCRIPT:
  1. document.addEventListener("DOMContentLoaded", () => {
  2. $('textarea').on('click', function(){
  3. console.log(123456);
  4. });
  5. });
и тыкать в textarea хоть до посинения - никакой реакции.
Редактировалось: 1 раз (Последний: 4 апреля 2021 в 16:26)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4843
Ris:
Пришлось делать так:
Зачем? Надо вот так:

Код PHP:
  1. <?php ob_start(); ?>
  2. <script>
  3. $(function(){
  4. $('textarea').on('click', function(){
  5. console.log(123456);
  6. });
  7. });
  8. </script>
  9. <?php $this->addBottom(ob_get_clean()); ?>
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3374
Fuze:
Зачем?
Затем, что я этот код просто виджетом HTML на страницу списка комментариев вывел.
За информацию про ob_start спасибо! Сечас посмотрю, что это вообще такое...
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 3473
Fuze:
Надо вот так
Так и знал, что вы подарите нам виджет "PHP код" в коробке уже в следующем релизе! v
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1793
Ris:
Сечас посмотрю, что это вообще такое...
Что бы понять нужно очень глубокое погружение в облость php laugh И честно сказать я так и не понял зачем он в шаблоне, если его суть именно в выводе данных в шаблон. Как я понял. И это конечно не сомнение целесообразности использования, а просто мой недостаток знания).
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3374
Lora,
Судя по куску кода, который привёл Fuze, и мануалам из интернетов, ob_ это output bufer.
И с содержимым этого буфера можно работать с помощью javascript перед выводом этого содержимого в браузер.
Редактировалось: 1 раз (Последний: 5 апреля 2021 в 13:09)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4843
Ris, это просто буферизация вывода, для того, чтобы в данном случае скрипты положить вниз страницы. В модерне все js подключаются внизу страницы, поэтому инлайн js должен идти после их подключения.
Буферизацией также можно добавлять любые HTML блоки на любые позиции шаблона. Т.е. то, что идёт после ob_start() не печатается тут же в браузер, а ob_get_clean() получает всё, что было "напечатано" в коде после ob_start().
Таким образом можно, например, в шаблоне контроллера какой-то блок HTML кода вывести на позицию виджета.

Код PHP:
  1. <?php ob_start(); ?>
  2. <div>Произвольный HTML</div>
  3. <?php $this->renderWidgetHtml('pos_name', ob_get_clean()); ?>
  4.  
Редактировалось: 1 раз (Последний: 5 апреля 2021 в 12:57)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Страницы: Первая Предыдущая 1 2
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.