我有一个输入,当用户第一次加载表单时,该输入会使用值进行填充。我希望这个工具提示是持久的,直到用户专注于这一个字段。我在页面上使用相同的工具提示,只需要在页面加载时显示此1工具提示,直到用户关注其下方的输入。然后它可以离开或表现得像其他人一样。有没有办法做到这一点?
HTML:
<label for="vehiclePrice" class="form-control-label vpl">Vehicle Price <a href="#" title="Customize your vehicle price." class="jqTooltip">tooltip<img src="assets/img/glyphicons3/comment.png" width="10" height="10" /></a></label>
<input type="text" class="form-control" name="vehiclePrice" id="vehiclePrice" placeholder="$25592 Suggested MSRP" onkeypress="return isNumberKey(event)" value="25592 Suggested MSRP" required />
JS:
$(function() {
$(".jqTooltip").tooltip({
track: true,
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "<div>" )
.addClass( "arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});
});
还有一些漂亮的CSS,你可以在小提琴中看到它:
答案 0 :(得分:4)
您可以使用jQuery UI Tooltip中的open
和close
方法实现此目的。
我修改了您的代码以提高可读性:
<强> HTML 强>
<section>
<label id="tt1" class="tooltip" for="vehiclePrice" title="">Vehicle Price</label>
<input type="text" id="vehiclePrice" placeholder="$25592 Suggested MSRP" onkeypress="return isNumberKey(event)" required />
</section>
<br><br><br><br><br><br>
<label id="tt2" class="tooltip" title="APR">Annual Percentage Rate (APR)</label>
<强>的JavaScript 强>
$(function () {
$(".tooltip").tooltip({
track: true,
position: {
my: "center bottom-20",
at: "center top",
using: function (position, feedback) {
$(this).css(position);
$("<div>")
.addClass("arrow")
.addClass(feedback.vertical)
.addClass(feedback.horizontal)
.appendTo(this);
}
}
});
$( "#tt1" ).tooltip( "option", "content", "vehicle price" );
$("#tt1").tooltip("open");
$("#tt1").tooltip().off("mouseleave mouseover");
$( "#tt1" ).on( "tooltipclose", function( event, ui ) {
$("#tt1").tooltip("open");
} );
$("#vehiclePrice").focus(function () {
$("#tt1").tooltip("close");
});
});
见JSFiddle。
答案 1 :(得分:0)
您可以根据需要创建自己的div样式,并在需要时显示/隐藏/淡化它而不是使用jquery ui工具提示。