0

Так что я пытаюсь использовать Bootstrap Modal, и я хочу, чтобы он появился после щелчка (метод onclick).Bootstrap & Wordpress - ничего не происходит

Сейчас у меня есть этот

$(document).ready(function(){ 
 
     
 
     $("#cancelPObtn").on("click", function(){ $("#error-dialog").modal();}); 
 
      
 
    });
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
 
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.0.4/css/bootstrap-combined.min.css"> 
 
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.0.4/js/bootstrap.min.js"></script> 
 

 

 
<!-- BELOW ON MY WORDPRESS POST --> 
 
<a href="#" class="btn btn-danger" id="cancelPObtn" data-toggle="modal" href="#error-dialog">Yes, cancel it</a> 
 
<div class="modal hide fade" id="error-dialog"> 
 
    <div class="modal-header"> 
 
     <a class="close" data-dismiss="modal">x</a> 
 
     <h3>Cancel Purchase Order?</h3> 
 
    </div> 
 
    <div class="modal-body"> 
 
    </div> 
 
    <div class="modal-footer"> 
 
     <a href="#" class="btn btn-danger btn-modal btn-cancel" data-dismiss="modal">Yes, cancel it</a> 
 
     <a href="#" class="btn" data-dismiss="modal">Nevermind</a> 
 
    </div> 
 
</div> 
 
<!-- I HAVE THE JAVASCRIPT ON MY POST TOO, USING <script type="text/javascript"> -->

Таким образом, кажется, работает, везде, но на моем Wordpress пост я не могу заставить его работать! Я добавил файлы JS + CSS из Bootstrap на моем header.php

Что может быть проблема?

Спасибо!

+0

вы видите какие-либо сообщение об ошибке в браузере Dev консоли при нажатии на кнопку? – IndieRok

+0

@IndieRok Nope, кнопка отображается так же, как вы можете видеть при запуске фрагмента, но когда я нажимаю, ничего не происходит! –

ответ

3

Вы должны прочитать на enqueuing scripts and styles in WordPress. У WordPress есть собственный способ включения файлов сценариев и таблиц стилей, которые вы должны ознакомиться. Много раз, что в итоге происходит, либо файлы не включены правильно, либо в неправильном порядке, либо без зависимостей, которые могут им понадобиться. Добавление ссылок непосредственно в header.php настоятельно не рекомендуется.

+0

в дополнение к использованию enqueue для сценариев начальной загрузки, вы должны использовать его, чтобы добавить функцию javascript, которую вы написали, с функцией щелчка. Это боль, но это способ WordPress. (возможно, стоит добавить ответ, @ceili) –

+0

Благодарим за помощь. Я всегда использовал Wordpress, но я пытался кодировать свою собственную CMS, но я все еще изучаю PHP, JS и другие. Я обнаружил, что bootstrap очень прост в использовании, но все еще учится. Я попробую и посмотрю, смогу ли я заставить его работать, еще раз, спасибо! –

0

В дополнение к использованию wp_enqueue_script, как рекомендовалось выше, я гарантирую, что вы пишете не конфликтующий jQuery, поскольку плагины WordPress иногда поставляются в комплекте со своими собственными библиотеками JavaScript, что может вызвать проблемы.

Смотрите ниже:

<script type="text/javascript"> 
    jQuery(function($) { 
    $('#cancelPObtn').click(function() { 
     $('#error-dialog').modal(); 
    }); 
    } 
</script> 

Кроме того, WordPress, вероятно, вызывая его собственный экземпляр JQuery, так что вы можете использовать window.jQuery, чтобы проверить, прежде чем включать свой собственный, как это:

<script type="text/javascript"> 
    window.jQuery || document.write('<script src="https://code.jquery.com/jquery-1.7.2.min.js"><\/script>'); 
</script> 

Ресурсы :

+0

Спасибо! Я этого не знал. Я все еще не исправил эту проблему, кнопка появляется, но когда я нажимаю на нее, ничего не происходит, я пробовал все, что мог, но не повезло ... –

+0

Использование консоли браузера (** Ctrl + Shift + J * * в Chrome, ** Ctrl + Shift + K ** в Firefox) введите следующее: 'jQuery ('# error-dialog'). modal();' Появляется ли ваш модальный вид? – bluemwhitew

Смежные вопросы