如何使jQueryUI工具提示仅在焦点上应用

26

如何使新的JqueryUI提示框仅在focus上可见:目前它是在focushover上可见的。我相信这是自JqueryUI 1.9以来的情况。


哇,这么简单的问题,但我没有看到简单的答案 :( - Andrew Whitaker
2个回答

38
一个更简短的方式: $(".selector").tooltip().off("mouseover mouseout");

14
+1 这对我所需的起作用了,相反,我只希望它们在鼠标上显示,而不是在焦点上显示:$(element).tooltip().off("focusin focusout"); - eselk
1
一个补充:.off("mouseover mouseout"); 将关闭所有鼠标悬停/移出事件。如果您正在使用它们,它们也将被解除绑定。为确保只对工具提示的事件进行 off,请按如下方式操作:$(".selector").tooltip(); var tooltipInstanceNamespace = $(".selector").tooltip("instance").eventNamespace; $(".selector").off('mouseover'+tooltipInstanceNamespace' mouseout'+tooltipInstanceNamespace); 这将仅关闭具有该工具提示实例命名空间的侦听器。 - RaphaelDDL

15
这不是理想情况,但应该可以工作:
$(".selector").tooltip({
    disabled: true
}).on("focusin", function () {
    $(this)
        .tooltip("enable")
        .tooltip("open");
}).on("focusout", function () {
    $(this)
        .tooltip("close")
        .tooltip("disable");
});

基本上,focusin事件时启用/打开工具提示,focusout事件时禁用/关闭。

示例:http://jsfiddle.net/WmRuN/


我猜到可能需要这样做。谢谢。 - Mark W
2
还有一个问题我没有考虑到,就是浏览器在悬停时会插入标准标题。 :( - Mark W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接