【发布时间】:2016-01-17 13:27:30
【问题描述】:
我们一直在使用 Avada WordPress 主题开发一个 WordPress 网站。该网站使用名为 Responsio+ 的高级 WHMCS 模板与 WHMCS 集成。
问题似乎是 Avada 和 Responsio+ 使用的 bootstrap.js 之间的冲突。要快速查看此问题,您可以转到作者的Responsio+ Demo for Avada。点击Modal Button按钮,观察弹窗立即消失。
我怀疑 Avada 很早就开始使用 Bootstrap CSS/JS 代码,因为我看到了 bs.modal 等 Avada 选择器。
由于我不愿意放弃 Avada 主题,并且我也想使用 Responsio+,有没有人知道我如何在所有 bootstrap.js 事件触发器选择器中包含 Responsio+ 的主要包装器类/ID,以便他们退出在 Avada 模态弹出窗口上触发?我相信 Responsio+ 只使用 bootstrap.min.js。
还有其他冲突,例如在切换短代码中,但我确信解决方案将是相同的。
编辑
所有 Avada 的模态弹出窗口都有一个 <div class="fusion-modal ... > 的包装器。所有 Bootstrap 模态弹出窗口都使用 Responsio+ 的 <div id="imsync-wrapper"> 包装器进行包装。
我的想法是,有一些方法可以稍微修改 bootstrap.js 事件触发器选择器,使其仅在 Responsio+ 的模式上触发。
我不喜欢像这样修改 dist 文件,但要么就是这样,要么倒退几步。我不认为将#imsync-wrapper 添加到bootstrap.js 模态代码中会很重要,但也许并不是那么简单。问题是,我并不完全肯定这种改变在哪里最有效,我想我要求 Bootstrap 专业人士参与进来。
另外,我尝试将模态插件置于 noConflict() 模式。在</head> 之前放置以下内容似乎没有帮助:
<script>
var bsModal = jQuery.fn.modal.noConflict();
</script>
【问题讨论】:
-
这里没有人会通过整个主题来为您调试它。向作者报告错误并寻求支持
-
我不想调试主题,谢谢。 Responsio+ 作者完全没有反应。修复不是“调试”每个主题,修复(甚至破解)是修复 Responsio+ 的引导程序依赖。我有点怀疑您是否了解潜在的解决方案,否则您不会这样评论并否决这个问题。我不喜欢为此进行任何修改,但这是我要运行它的唯一方法。至于 Avada - 这不是他们的问题。这是 Responsio 的 - 但作者没有回应。
-
本网站旨在帮助解决特定的代码问题。这意味着提供有问题的代码本身。包含大量脚本的复杂页面演示的链接不符合此要求。当然我可以解决它......但这可能需要几个小时才能首先找到冲突......这里没有人会这样做
-
最好的建议是开始退出代码,直到你发现冲突......然后处理导致它的代码部分
-
我赞成你的问题,因为我知道答案。也许,如果您以更通用的形式询问它会更容易提供帮助。