-1

我正在使用 Twitter Bootstrap 和 Codeigniter。我也在使用模板系统。

在标题视图中,我同时加载了 jquery.min.js 和 bootstrap.min.js 并找到了路径,因为我可以在查看源代码时单击并查看代码。

在我的控制器中,我有以下内容来生成视图:

$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>

如果我将视图更改为此,它确实有效(唯一的更改是我将 bootstrap.min.js 从标题重复到 jQuery 上方的实际视图中):

<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>

如果我在生成整个页面后查看源代码,则会发现 bootstrap.min.js 两次,一次在标题中,一次在按钮 jQuery 上方。

我可以将其他 jQuery 放入此页面,它工作得非常好。只有 Twitter Bootstrap javascript 有问题。

这让我绝对发疯,有谁知道它为什么这样做?我真的不想将 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>

就在之前(在同一个文件中,不要将它放在 head 标记中,因为您使用的是 codeigniter 模板)

<script type="text/javascript"> 

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

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

</script>

这应该有效。

于 2013-02-14T02:47:47.863 回答