TwitterBootstrapとCodeigniterを使用しています。テンプレートシステムも使用しています。
ヘッダービューで、jquery.min.jsとbootstrap.min.jsの両方をロードすると、view-sourceを実行するときにクリックしてコードを表示できるため、パスが見つかります。
私のコントローラーでは、ビューを生成するために次のものがあります。
$this->template->set_partial('header', 'layouts/admin_header');
$this->template->set_partial('footer', 'layouts/admin_footer');
$this->template->set_partial('sidebar', 'layouts/admin_sidebar');
$this->template->build('admin/category/order', $this->data);
ヘッダーレイアウトビューには、次のものがあります。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="<?=base_url();?>assets/admin/js/bootstrap.min.js"></script>
さて、order.phpビューで、次のものがある場合、ボタンは機能しません。
<script type="text/javascript">
$(document).ready(function(){
$('#button').button();
$('#button').click(function() {
$(this).button('loading');
});
});
</script>
<button class="btn" id="button" data-text-loading="Loading...">Press Me</button>
ビューをこれに変更すると、機能します(唯一の変更点は、ヘッダーからjQueryの上の実際のビューにbootstrap.min.jsを繰り返したことです)。
<script src="<?=base_url();?>assets/admin/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#button').button();
$('#button').click(function() {
$(this).button('loading');
});
});
</script>
<button class="btn" id="button" data-text-loading="Loading...">Press Me</button>
ページ全体が生成された後にview-sourceを実行すると、bootstrap.min.jsが2回見つかります。1回はヘッダーにあり、もう1回はボタンjQueryのすぐ上にあります。
このページに他のjQueryを入れることができ、それは完全に正常に機能します。問題があるのはTwitterBootstrapjavascriptだけです。
これは私を絶対に狂わせています、なぜそれがこれをしているのか誰かが知っていますか?個々のビューにbootstrap.min.jsを追加する必要は本当にありません...