Javascript подключен, но функция alert() не работает

3 дек. 2012 г., 17:53:49
Просмотры: 17.8K
Голосов: 0

Я подключил javascript с помощью

wp_enqueue_script('slider', plugins_url( 'slider.js', __FILE__ ) );

с простым кодом

$(document).ready(function () {
    alert("alert");
});

Скрипт появляется в браузере, но не показывает сообщение "alert".

P.S.: Забыл упомянуть, что я также подключил jquery, но это не помогло.

wp_deregister_script('jquery');
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');

В дополнение к ответам, мне также нужно было указать WordPress, что мой скрипт зависит от jQuery

wp_enqueue_script( 'slider', plugins_url( 'slider.js', __FILE__ ),array('jquery') );
0
Все ответы на вопрос 3
0

Несколько важных моментов:

  1. Версия jQuery, поставляемая с WordPress, работает в режиме noConflict(). Это означает, что при первом обращении нужно использовать jQuery вместо $.
  2. Не регистрируйте собственную версию jQuery при разработке. Вы ограничиваете себя одной версией, которая может быть несовместима с требованиями WordPress.
  3. Вы можете использовать консоль браузера для тестирования. Откройте страницу, нажмите F12 для запуска консоли. Введите jQuery в консоль и проверьте, возвращается ли правильный объект.
3 дек. 2012 г. 17:59:31
0

WordPress загружает jQuery в режиме "No Conflict". Псевдоним $ не работает. Используйте jQuery.(document) или оберните ваш код следующим образом...

(function($) { 
  $(function() {
    // код, использующий $ как псевдоним для jQuery
  });
})(jQuery);
3 дек. 2012 г. 17:59:40
0

Стоит проверить, подключена ли библиотека Bootstrap.js (после jQuery), например:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
25 июл. 2017 г. 15:57:51