引导 jquery 加载序列

Posted

技术标签:

【中文标题】引导 jquery 加载序列【英文标题】:bootstrap jquery load sequence 【发布时间】:2018-08-18 16:06:18 【问题描述】:

我在页面中有这行代码来触发模态:

<?php if($modal_show)?>
<script>$('#modalContactForm').modal('show');</script>
<?php  ?>

jQuery 等的负载位于 之前的脚本末尾,这是推荐的方法。用于测试 $modal_show 在页面加载时设置为 true。如果我将负载移到顶部,则模态会按预期显示,但是当它们位于末尾时,则不会显示。我已经阅读了其他解决方案,使用 javascript 窗口 onload 或使用 defer 语句。有人可以向我展示我需要放在那里的实际代码,以将负载保持在最后并让脚本触发模态。

【问题讨论】:

这里的问题是php在服务器端执行,而javascript在客户端,所以php尝试执行尚未加载的脚本。 是的,这完全有道理,但似乎应该有一些简单的方法来解决它,因为 twitter bootstrap 建议在页面末尾进行加载。看不到它是如何正常工作的,因为您需要在页面中使用它。 为什么不将php脚本加载到页面的最后,就在正文结束标记的上方,脚本的下方? 假设我在页脚(例如)中执行一个 php 脚本,然后我想在该 php 块中显示模态。有没有办法做到这一点? 您可以将模态框放在您想要的任何位置。 id 将扮演关键角色,我有一个具有多个模式的项目,在需要时由脚本加载。所以它应该工作。只需调用模态ID 【参考方案1】:

您需要先加载 jquery/bootstrap-jquery 库,然后再加载您的脚本,这样您的脚本才能正常工作。

您可以使用$(document).ready()

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> //LOAD THE LIBRARY FIRST
 <script> //THEN YOUR SCRIPT
 $(document).ready(function()
       $('#modalContactForm').modal('show');
 ); // TRIGGERS UPON THE PAGE IS COMPLETELY LOADED
 </script>

或者简写

 <script>
 $(function() 
    $('#modalContactForm').modal('show');
 );
 </script>

【讨论】:

有什么办法可以先加载 jquery 吗?我可以在脚本顶部加载 jquery,但引导程序建议将它放在底部。在某些情况下,我需要在页面结束之前触发内联模式。 注意问题下的Vipin cmets。

以上是关于引导 jquery 加载序列的主要内容,如果未能解决你的问题,请参考以下文章

让 ajax 加载的部分视图中的元素触发 jquery 事件(引导模式形式)

Jquery 选择器在引导模式下不起作用(使用 codeigniter 加载表单)

如何使用内部 html 和引导程序使这个简单的 jQuery 弹出模式在页面加载时显示

无论我使用哪种顺序,Rails 5 中的引导/jQuery 加载顺序都会中断

jQuery 无法处理 AJAX 加载的 html 内容

使用 Angularjs 加载文本的引导按钮