【问题标题】:JQuery UI Tooltip with data attributes带有数据属性的 JQuery UI 工具提示
【发布时间】:2014-09-13 02:07:07
【问题描述】:

我正在尝试使用 HTML5 数据属性来存储和显示工具提示的内容。

我正在使用 JQuery UI 作为工具提示。

我已阅读文档,但还没有弄清楚如何编写正确的选择器并显示自定义数据。

关于我缺少什么的任何想法?

http://jsfiddle.net/QsEJk/2/

HTML:

<span class="info-icon"
    data-title="custom title"
    data-desc="custom description">
</span>

JS:

$( '.info-icon' ).tooltip({
    content: function() {
        return 'Title: ' + $( this ).data('title') +
               ' Description: ' + $( this ).data('desc');
    }
});

【问题讨论】:

  • 首先,你应该写ready(function() {而不是ready({。其次,您应该将 jQuery UI 主题的 CSS 文件作为外部资源添加到您的小提琴中(也可能在您的页面中)。其余代码看起来不错。
  • 哎呀,我只是省略了它,因为 fiddle 会处理它。
  • 好吧,不。 jsFiddle 处理 jQuery UI 脚本的包含,而不是它的 CSS 文件。
  • 做出了改变,没有骰子。

标签: jquery jquery-ui


【解决方案1】:

您需要items 选项

$(".info-icon").tooltip({
    items: "[data-title], [data-desc]",
    content: function () {
        return 'Title: ' + $(this).data("title") + ' Description: ' + $(this).data('desc');
    }
});

http://api.jqueryui.com/tooltip/

编辑:

如果任一属性在.info-icon 范围内,[data-title],[data-desc] 将起作用。

[data-title][data-desc] 需要为工具提示指定两个属性才能工作。

【讨论】:

  • 或者[data-title][data-desc],因为内容函数同时使用了这两个属性?
  • 嗯,items 选项让 API 有点混乱,但谢谢!
  • 为什么需要函数&return来指定内容?为什么“内容:$(this).data('text')”不起作用?你能解释一下吗?谢谢!
  • @lehel content 是一个回调委托函数。该插件期望将content 作为函数运行。
【解决方案2】:

接受的答案对我有用,但就我而言,我希望将其应用于页面上的许多项目,因此不希望每个项目都有一个变量。相反,我使用了这个:

        $(".help").each(function() {
            $(this).tooltip({
                content: $(this).data('help')
            });
        });

这会将数据帮助内容应用于页面上的每个 .help 项。

【讨论】:

猜你喜欢
  • 2013-12-11
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
相关资源
最近更新 更多