我正在使用 JQueryUI工具提示 向用户显示一些动态消息。基本上我想在用户单击按钮时在输入字段的顶部显示工具提示。
我编码的方式只有当悬停在按钮顶部时才有效,而在JQueryUI示例中,实现此方案没有任何帮助。我如何区别于悬停效果并使其与按钮的单击事件一起使用?我怎样才能做到这一点?
我正在使用jquery-ui-1.9.0.custom.js
和jquery-1.8.2.js
。
HTML代码: 我想在此输入框顶部显示消息
<input id="myInput" type="text" name="myInput" value="0" size="7" />
我点击按钮以弹出工具提示
<input id="myBtn" type="submit" name="myBtn" value="myBtn" title="this is not used" class="myBtn" />
JQuery代码
$(document).ready(function() {
$(".myBtn").tooltip({
content: function () {
return '<span id="msg">Message</span>';
},
position: {
my: "center bottom",
at: "center top"
}
});
});
答案 0 :(得分:18)
最简单的方法是删除myBtn
的title属性,并将工具提示移到另一个元素上。例如:
<a id="myTooltip" title="Message"></a>
然后你可以这样做:
$('#myTooltip').tooltip({
//use 'of' to link the tooltip to your specified input
position: { of: '#myInput', my: 'left center', at: 'left center' }
});
$('#myBtn').click(function () {
$('#myTooltip').tooltip('open');
});
同样,您可以使用
关闭工具提示$('#myTooltip').tooltip('close');
要在打开后自动关闭工具提示,只需在close
事件中调用open
方法:
$('#myTooltip').tooltip({
open: function (e) {
setTimeout(function () {
$(e.target).tooltip('close');
}, 1000);
}
});
使用e.target
(this
在open
事件中不起作用)和setTimeout()
设置时间限制,之后工具提示将关闭。