Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2018, 13:32
Новичок на форуме
Отправить личное сообщение для artuha Посмотреть профиль Найти все сообщения от artuha
 
Регистрация: 02.01.2018
Сообщений: 2

Почему JavaScript оборачивается CDATA и не выполняется?
Добрый день!

В шапке шаблона простенький скрипт

<head>
<script type="text/javascript" src="/themes/default-bootstrap/js/jquery.maskedinput.js"></script>
    <script type="text/javascript">
         $('#div').mask('+7(999) 999-9999');
    </script>
</head>

На сайте скрипт не выполняется, при запуске его через консоль все работает. Ошибок нет. jQuery подключен. Пробовал также размещать код в отдельном файле и перед </body>:

<head>
     <script type="text/javascript" src="/themes/default-bootstrap/js/jquery.maskedinput.js"></script>
</head>
<body>
     <div id="div"></div>
     <script type="text/javascript">
          $('#div').mask('+7(999) 999-9999');
     </script>
</body>

При анализе Chrome DevTools скрипт вписан одной строчкой и выглядет так:

<head>
     <script type="text/javascript">/* <![CDATA[ */;$('#div').mask('+7(999) 999-9999');/* ]]> */</script>
</head>

В чем может быть причина? Может ли CDATA влиять на работу скрипта и почему он автоматически навешивается?
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2018, 14:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если из шапки то:

$(function() { //DOM готов
     $('#div').mask('+7(999) 999-9999');
});


либо в конце страницы

$('#div').mask('+7(999) 999-9999');
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2018, 15:52
Новичок на форуме
Отправить личное сообщение для artuha Посмотреть профиль Найти все сообщения от artuha
 
Регистрация: 02.01.2018
Сообщений: 2

Сообщение от laimas Посмотреть сообщение
Если из шапки то:

$(function() { //DOM готов
     $('#div').mask('+7(999) 999-9999');
});


либо в конце страницы

$('#div').mask('+7(999) 999-9999');
Без изменений
Ответить с цитированием
  #4 (permalink)  
Старый 02.01.2018, 16:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Код показанный в начале не может выполнится, так как во время его запуска элемента $('#div') не существует, DOM не сформирован. На другие возможные ошибки укажет отладчик.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Помогите с javascript (Почему не работает) remus Оффтопик 9 09.06.2010 11:18
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24