基本上,我试图创建一个显示鼠标悬停工具提示的表单。单击其中一个字段后,我想禁用光标以触发其他工具提示。一旦用户点击文本框外部,我希望鼠标恢复触发工具提示。
我的问题 - 我已经完成了所有工作,但我无法重新开启鼠标监听器。代码如下:
$(function () {
infoTips();
});
function infoTips(){
$("input:text").tooltip({
content : function(){
return $(this).attr("title");
},
position : {
my : "left top",
at : "right top",
of : ".tip"
}
}).on("focusin", function () {
$("*").tooltip().off("mouseover mouseout mouseleave");
}).on("focusout", function () {
//This line doesn't work -
$("*").tooltip().on("mouseover mouseout mouseleave");
//
});
}
http://jsfiddle.net/kjhansen/WmRuN/480/
谢谢!
答案 0 :(得分:0)
我将选择器更改为"这个"并改变了#34; off"去除"删除"所以它看起来像这样:
}).on("focusin", function () {
$(this).tooltip().remove("mouseover mouseout mouseleave");
}).on("focusout", function () {
$(this).tooltip().on("mouseover mouseout mouseleave");
});
这是更新的jsFiddle
答案 1 :(得分:0)
jQuery在关闭它们时不会将处理程序保留在内存中。
根据您的情况,我相信您可以启用/禁用jQuery工具提示。
编辑:已更新以排除当前输入。
即
function infoTips(){
var $inputsWithTooltips = $("input:text");
$inputsWithTooltips.tooltip({
content : function(){
return $(this).attr("title");
},
position : {
my : "left top",
at : "right top",
of : ".tip"
}
}).on("focusin", function () {
$inputsWithTooltips.not(this).tooltip("disable");
}).on("focusout", function () {
$inputsWithTooltips.not(this).tooltip("enable");
});
}
编辑:jsfiddle:http://jsfiddle.net/WmRuN/485/