我正在撰写网站,并使用qtip:
我希望在关注字段(一个html元素)时,我会在每个焦点上看到一个工具提示,当失去焦点时 - 工具提示就会消失。
有两种html元素。 输入(有焦点时)。 无线电(当没有焦点时,只需将鼠标移开即可显示工具提示)。
这是我的代码(javascript方面,我有问题,因为工具提示有时不会消失 - 为什么?)
function showtooltip(item, val, acorner, ahide) {
'use strict';
var tipCorner;
if (ahide === undefined) {
ahide = 'blur';
}
if (acorner === undefined) {
acorner = 'bottomLeft';
}
if (acorner === "topRight") {
tipCorner = "leftMiddle";
} else {
tipCorner = "topLeft";
}
setTimeout(function() {
$(item).qtip({
content: {
text: val
},
show: {
ready: true
},
hide: {
when: ahide,
delay: 0
},
style: {
//classes: 'ui-tooltip-jtools',
background: '#A2D959',
width: 400,
color: 'black',
border: {
width: 1,
radius: 3,
color: '#6699CC'
},
tip: { // Now an object instead of a string
corner: tipCorner, // We declare our corner within the object using the corner sub-option
color: '#6699CC',
size: {
x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
}
}
},
position: {
corner: {
target: acorner
}
},
api: {
onHide: function() {
$(item).qtip('api').destroy();
},
onShow: function() {
setTimeout(function() { $(item).qtip('hide'); }, 2000);
}
}
});
}, 0);
}
function showtooltiph(item, val) {
'use strict';
showtooltip(item, val, 'bottomLeft', 'mouseout unfocus');
}
在HTML方面: ...
工具提示有时候不会隐藏,我看到几个工具提示,这是非常讨厌的行为 - 可能是什么原因?
谢谢:)
答案 0 :(得分:5)
Qtip隐藏和显示选项可用,可作为选项提及。
HTML:
<fieldset>
<legend>Validating a complete form</legend>
<p>
<label for="firstname">Firstname</label>
<input type="text" class="show-tip" message="This is Firstname Field" name="firstname" id="firstname">
</p>
<p>
<label for="password">Password</label>
<input type="password" name="password" id="password">
</p>
<p>
<label for="email">Email</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="agree">Please agree to our policy</label>
<input type="checkbox" name="agree" id="agree" class="checkbox">
</p>
<p>
<label for="newsletter">I'd like to receive the newsletter</label>
<input type="radio" name="gender" id="male" class="radio">
</p>
<p>
<input type="submit" value="Submit" class="submit">
</p>
</fieldset>
代码:
$(document).ready(function () {
var tipOptions = {
content: 'Some basic content for the tooltip',
show: 'focus',
hide: {
when: {
event: 'unfocus'
}
}
};
$('input[type=text]').qtip(tipOptions);
$('input[type=password]').qtip(tipOptions);
$('input[type=email]').qtip(tipOptions);
$('input[type=checkbox]').qtip(tipOptions);
$('input[type=radio]').qtip(tipOptions);
$('input[type=checkbox]').mouseover(function(){
$('input[type=checkbox]').qtip('show');
});
$('input[type=checkbox]').mouseout(function(){
$('input[type=checkbox]').qtip('hide');
});
$('input[type=radio]').mouseover(function(){
$('input[type=radio]').qtip('show');
});
$('input[type=radio]').mouseout(function(){
$('input[type=radio]').qtip('hide');
});
});
中分享演示
更新 - 2016年12月23日
单行中qTip2
的工作示例。
var tipOptions = {
content: 'Some basic content for the tooltip',
show: 'focus',
hide: {
when: {
event: 'unfocus'
}
}
};
$('input').qtip(tipOptions);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qtip2/3.0.3/basic/jquery.qtip.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/qtip2/3.0.3/basic/jquery.qtip.css" />
<fieldset>
<legend>Validating a complete form</legend>
<p>
<label for="firstname">Firstname</label>
<input type="text" class="show-tip" message="This is Firstname Field" name="firstname" id="firstname">
</p>
<p>
<label for="password">Password</label>
<input type="password" name="password" id="password">
</p>
<p>
<label for="email">Email</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="agree">Please agree to our policy</label>
<input type="checkbox" name="agree" id="agree" class="checkbox">
</p>
<p>
<label for="newsletter">I'd like to receive the newsletter</label>
<input type="radio" name="gender" id="male" class="radio">
</p>
<p>
<input type="submit" value="Submit" class="submit">
</p>
</fieldset>