为文档中的 JQuery-UI 工具提示行为创建特定例外

Create specific exceptions for JQuery-UI tooltip behavior in a document

我有一系列 div 可由 class 识别为对话内容模板。除其他外,内容 divs 具有标题属性,JQuery 对话框将其用作对话框 window 的标题,这是我想要的行为。但是,工具提示也使用这些标题,这意味着将鼠标悬停在不是任何其他控件的对话框的一部分上会导致对话框标题显示为工具提示。这是我不想要的行为。

如何从工具提示行为中排除对话框内容 div,而不是它的 children?目前,我正在为整个文档启用工具提示,因为那是 one-liner。我可以将其更改为仅对按钮执行此操作,但我有很多 dynamically-created 按钮(table 行的 edit/delete 按钮等)必须 re-initialized每个对话框重新加载时的工具提示,如果可以的话,我想避免这种情况。对话框内容 div 存在于页面加载的 DOM 中,因此如果有 class 我可以应用或我可以在启用工具提示后调用 class 选择器的方法一般来说,这将是理想的。

编辑: 我找到了一个可行的解决方案,可能不是一个理想的解决方案:为文档启用工具提示,然后为对话框内容禁用它们 class,然后当打开一个对话框,re-enable 对话框内容的所有 children classes(或正在打开的特定对话框)。它起作用了,但我可能要求 JQuery 遍历 DOM 的次数太多了。

找到理想的解决方案;为整个文档设置工具提示时,将 items 属性 设置为 ":not()" 选择器:

$(document).tooltip({
    items: ":not(.dialogContent)",
    ...
});