2013-10-10 43 views
8

我正在尝试使用jQuery UI工具提示,我想我可能会丢失一些东西。简单的jQuery UI工具提示没有标题属性

我想要最简单的工具提示,而不指定title属性。

我相信我应该能够在我的JavaScript几乎任何地方拨打此:

$('#ContactName').tooltip({ content: 'Hey, look!' }).tooltip('open'); 

这是行不通的。难道我做错了什么?

编辑:我应该提及#ContactName是一个输入[type = text],它在jQuery UI对话框中。

编辑2:好的,这工作。虽然我不明白为什么。

$($('#ContactName').parent()).tooltip({ 
    items: '#ContactName', 
    content: 'Hey, look!' 
}); 

它适用于悬停。无论如何,我可以用相同的代码立即打开它?

编辑3:这是我结束了:

  $($('#ContactName')).tooltip({ 
       items: '#ContactName', 
       content: $(this).text(), 
       position: { 
        my: 'left+15', 
        at: 'right center' 
       }, 
       tooltipClass: 'ui-state-error' 
      }).tooltip("open"); 
+0

参见:http://forum.jquery.com/topic/jquery-ui-tooltips-require-a-title-tag – KyleMit

回答

17

当您设置content选项,你可能还需要指定items选项。

看到自己API文档和本jsFiddle example

<span id="ContactName">Test</span> 

$("#ContactName").tooltip({ 
    items: "span", 
    content: "Awesome title!" 
}).tooltip("open"); 
+0

为什么一定要绑定到容器? –

+0

@JoshYoung,查看更新。它不需要,但你必须将它绑定到某个东西上,然后具体告诉它看什么项目。我不知道如何在选项元素中引用'this',但可以使用元素选择器。 – Brandon

+0

这是工作。有什么方法可以立即开放吗? –

1

这是一个有点哈克但当items不为你工作(假设你同时做多个选择),您还可以设置标题上飞:

$($('#ContactName')). 
     attr('title', ''). 
     tooltip({ 
      content: $(this).text(), 
      position: { 
       my: 'left+15', 
       at: 'right center' 
      }, 
      tooltipClass: 'ui-state-error' 
     }).tooltip("open"); 
+0

'content'的正确值应该是:'function(){return $(this).text(); }'。 '物品'也应该设置。 –

相关问题