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

Javascript jQuery UI工具提示-返回位置值,javascript,jquery,css,jquery-ui,jquery-ui-tooltip,Javascript,Jquery,Css,Jquery Ui,Jquery Ui Tooltip,我正在尝试做一项看起来很简单的任务,理论上,它将基于初始化工具提示的悬停元素的父元素返回工具提示的position方法的“my”和“at”值,但我不确定具体如何做 var s, TooltipController = { settings: { tooltips: '[data-tooltip]' }, init: function () { s = this.settings; this.bind_ui_actions(); }, bind_ui_actions:

我正在尝试做一项看起来很简单的任务,理论上,它将基于初始化工具提示的悬停元素的父元素返回工具提示的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;
}
}
var s,
TooltipController={
设置:{
工具提示:“[数据工具提示]”
},
init:函数(){
s=此参数设置;
这个.bind_ui_actions();
},
绑定操作:函数(){
$(s.tooltips)。工具提示({
内容:功能(){
//仅当内容被截断时才返回工具提示
返回((this.offsetWidth

如果我将console.logs添加到每个方法中,我可以看到position方法甚至没有被命中,我也不确定原因。我相信这是一个简单的错误,但我只是不明白发生了什么。提前谢谢

是什么让你认为
position
可以是一个函数?从文档来看,它只能是一个普通的对象。谢谢你,弗雷德里克。你完全正确,这是我的疏忽。在这篇文章的本质上,你对我如何做到这一点有什么建议吗?从你目前的代码来看,你似乎可以无条件地将
位置设置为
{my:'center-bottom',at:'center-top'}
,然后在
打开的
处理程序中确定父对象是否为
,并在
ui.tooltip.position
中添加十个像素(如果是)。我最终使用了另一种解决方案,如果父对象为!='这正是我所需要的。谢谢你的帮助和建议,弗雷德里克。