-1

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を追加する必要は本当にありません...

4

2 に答える 2

1

bootstrap.min.jsの後にjquery-ui-1.8.21.custom.min.jsをロードしました。どうやらいくつかの競合があります。

于 2012-07-05T18:37:10.677 に答える
0

宣言してみてください:

<script src="<?=base_url();?>assets/admin/js/bootstrap.min.js"></script>

直前(同じファイルで、codeigniterテンプレートを使用しているため、headタグに入れないでください)

<script type="text/javascript"> 

    $(document).ready(function(){
        $('#button').button();

        $('#button').click(function() {
            $(this).button('loading');
        });
    });

</script>

これは機能するはずです。

于 2013-02-14T02:47:47.863 に答える