jQuery UI工具提示 - 返回位置值

时间:2014-04-22 14:00:10

标签: javascript jquery css jquery-ui jquery-ui-tooltip

我正在尝试做一个看起来很简单的任务,理论上会根据初始化的hovered元素的父元素返回工具提示的position方法的“my”和“at”值。工具提示,但我不确定如何做到这一点。

var s,
TooltipController = {

settings: {
    tooltips: '[data-tooltip]'
},

init: function () {
    s = this.settings;
    this.bind_ui_actions();
},

bind_ui_actions: function () {
    $(s.tooltips).tooltip({
        content: function () {
            // Only return a tooltip if the content is truncated
            return ((this.offsetWidth < this.scrollWidth) ? $(this).data('tooltip') : false);
        },
        items: '[data-tooltip]',
        open: function (event, ui) {
            // If tooltip resides in a <th /> then use animations else dontuse animations
            var parent = TooltipController.get_tooltip_parent($(this));
            return ((parent == 'TH') ? ui.tooltip.animate({ top: ui.tooltip.position().top + -10 }, "fast") : false);
        },
        position: function(event, ui) {
            var parent = TooltipController.get_tooltip_parent($(this));
            var top_pos = ((parent == 'TH') ? '+10' : '');

            return { my: 'center bottom', at: 'center top' + top_pos };
        },
        show: { duration: 0 },
        tooltipClass: 'tooltip'
    });      
},

get_tooltip_parent: function ($this) {
    return $this[0].nodeName;
}
}

如果我将console.logs添加到每个方法中,我可以看到位置方法甚至没有被击中,我不确定为什么。我确定这是一个简单的noob错误,但我只是不明白发生了什么。提前谢谢!

0 个答案:

没有答案