我试图在点击一个按钮后为输入框提出一个工具提示,但是问题是没有按下按钮点击它在鼠标悬停在输入时提升,我需要的是,当有人点击Create Stock
它时检查输入的值id = "id_stock"
,如果为空,则将工具提示提升到该输入框,并在开始填充输入时消失.这是我试过的.
$("#id_stock_btn").click(function() {
/* Act on the event */
if(!$('#id_stock').val())
{
$('#id_stock').tooltip({title: "Please give some stock first."});
}
else {
//Do Some Other Stuff
}
});
我没有在工具提示中给出任何触发事件,那么它也在提高Hover为什么?
您遇到的主要问题是该.tooltip()
方法仅初始化工具提示设置(请参阅此处的文档).这就是为什么在第一次单击按钮之前工具提示不显示的原因,因为.click()
它首先创建了它.
那么你需要做的是解决这个问题:
在单击处理程序之外初始化工具提示
修改单击处理程序以使用该.tooltip("show")
功能(docs)
创建一个新的处理程序,以便在您认为合适时隐藏工具提示
我已经包含了一个新的,经过修改的代码片段,其中我举例说明了如何完成这三项内容,特别是如何隐藏工具提示的示例(我的示例在重新单击输入时执行此操作).
JSFiddle演示
// Initialize tooltip on #id_stock input
$('#id_stock').tooltip({
title: "Please give some stock first.",
trigger: "manual"
});
// Manually hide tooltip when re-clicking the input
// This can be modified to hide the tooltip whenever you see fit
$("#id_stock").click(function(e) {
$(this).tooltip("hide");
});
$("#id_stock_btn").click(function() {
/* Act on the event */
if(!$('#id_stock').val())
{
$('#id_stock').tooltip("show"); // Show tooltip
}
else {
//Do Some Other Stuff
}
});