代码之家  ›  专栏  ›  技术社区  ›  jstuardo

tippy插件无法显示包含HTML内容的多个工具提示

  •  0
  • jstuardo  · 技术社区  · 7 年前

    我有一个tippy插件是这样初始化的:

    tippy('.tooltip_commands', {
                        delay: 100,
                        arrow: true,
                        arrowType: 'round',
                        size: 'large',
                        duration: 500,
                        animation: 'scale',
                        placement: 'left',
                        interactive: true,
                        trigger: 'click',
                        content: document.querySelector('#tooltip_content').cloneNode(true)
                    });
    

    其中“工具提示内容”是:

    <div class="tooltip_templates">
        <div id="tooltip_content">
            <ul class="list-group">
                <li class="list-group-item">
                    <a id="_bajarFactura" href="#" title="Bajar factura"><i class="sl-icon-cloud-download"></i>Bajar factura original</a>
                </li>
                <li class="list-group-item">
                    <a id="_verFactura" data-toggle="modal" href="#myModal" title="Ver archivo de la factura"><i class="sl-icon-doc"></i>Ver factura original</a>
                </li>
                <li class="list-group-item">
                    <a id="_verDetalle" href="#" title="Ver detalles de la factura"><i class="sl-icon-magnifier-add"></i>Ver Detalle</a>
                </li>
                <li class="list-group-item">
                    <a id="_reEnviar" href="#" title="Re-enviar factura a un e-mail"><i class="icon-Mail-Forward"></i>Re-enviar</a>
                </li>
            </ul>
        </div>
    </div>
    

    “工具提示命令”是表中的几个按钮(每行一个按钮)。

    运行页面后,只有最后一行显示包含HTML内容的工具提示。所有其他行显示工具提示,但为空。

    有办法解决吗?

    请看这个问题:

    https://jsfiddle.net/desytec/ym4nubhw/21/

    1 回复  |  直到 7 年前
        1
  •  3
  •   Marcell Toth    7 年前

    内容 财产 选项 对象将被评估:

    document.querySelector('#tooltip_content').cloneNode(true)
    

    单一副本 的 元素。然后,Tippy将尝试为每个弹出窗口分配相同的工具提示副本。

    为了让你的例子能正确地工作 必须为创建的每个工具提示创建一个工具提示容器元素 . 我会用一个 jQuery loop

    $(document).ready(function () {
      $('.tooltip_commands').each(function(){
                    tippy(this, {
                        delay: 100,
                        arrow: true,
                        arrowType: 'round',
                        size: 'large',
                        duration: 500,
                        animation: 'scale',
                        placement: 'left',
                        interactive: true,
                        trigger: 'click',
                        theme: 'honeybee',
                        content: document.querySelector('#tooltip_content').cloneNode(true)
                    });
      });
    });
    
    推荐文章