javascript - Joomla 中包含 HTML 的工具提示

标签 javascript joomla tooltip

我使用 Component Creator 创建了一个组件对于 Joomla 3.X

问题是网站上的工具提示显示 html 代码。例如:

<strong>Title</strong><br/>Description

相反,它们在管理员上正确显示:

Title

Description

我正在审阅文档 herehere ,似乎可以在调用工具提示函数时定义输出格式,但组件内部没有对该函数的调用。我看到的唯一调用是 View 文件开头的 JHtml::_('behavior.tooltip'); 并且不知道如何指定输出格式。

该站点位于此 URL 中:

http://50.87.185.99/colombianadederecho_blank/index.php/administradores-ph/registrarse

添加:

似乎在为每个字段构建标签时调用了代码:

<div class="control-group">
    <div class="control-label"><?php echo $this->form->getLabel('document'); ?></div>
    <div class="controls"><?php echo $this->form->getInput('document'); ?></div>
</div>

并且保存在title属性中:

title="&lt;strong&gt;Title&lt;/strong&gt;&lt;br /&gt;Description"

因此,我认为问题出在 Javascript 函数中,可能使用 .text() jQuery 函数而不是 .html()。

检查源代码我发现了这个,但不明白为什么它不能正常工作:

window.addEvent('domready', function() {
            $$('.hasTip').each(function(el) {
                var title = el.get('title');
                if (title) {
                    var parts = title.split('::', 2);
                    el.store('tip:title', parts[0]);
                    el.store('tip:text', parts[1]);
                }
            });
            var JTooltips = new Tips($$('.hasTip'), {"maxTitleChars": 50,"fixed": false});
        });

jQuery(document).ready(function() {
    jQuery('.hasTooltip').tooltip({"html": true,"container": "body"});
});

解决方案: 正如@ilias 发现的那样,这是库之间的问题。我不得不使用这个 plugin 在 header 中禁用 Bootstrap 调用并从主体的末尾调用它:

<script src="/site/media/jui/js/bootstrap.min.js" type="text/javascript"></script>

最佳答案

我不知道 Component Creator 生成的代码,但我假设工具提示与管理员 View 中的一样。如果是这种情况,你应该检查这样的东西:

<button type="submit" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>

并附上JHtml::tootlipText()的内容在 strip_tags() .

否则尝试找到行 <strong>Title</strong><br/>Description标签显示的位置并将其包含在 strip_tags() 中.例如,您可能有这样的东西:

echo $this->escape($item->description);

应该变成:

echo $this->escape(strip_tags($item->description));

关于javascript - Joomla 中包含 HTML 的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20752377/

相关文章:

reactjs - Bootstrap 4, react : how to change the title of a tooltip?

javascript - 如何查找任何元素的默认工具提示的事件

html - 将背景图像添加到单个表格单元格

php - 使用 php 的 MySQL 错误

html - 负边距导致悬停中断

JavaScript 随机数生成器

css - 不同的面包屑背景取决于 Joomla 中的页面

javascript - 要解包的意大利面条 JavaScript 代码

javascript - 如何将 match() 用于字符白名单?

javascript - 如何只接受按字母顺序按下的键(用于 "autocomplete"目的)