我目前正在尝试创建一个文本选择脚本,这样人们就可以标记文本,然后将其插入表单中。
因此,我想显示一个带有链接"发送到表单"的弹出窗口,但我在用qtip(我在网站上到处使用)从我的脚本创建工具提示时遇到了问题,该工具提示可以确定文本是否已标记(如果我的脚本无法复制任何内容,则不会有链接)。
我正在使用此脚本进行选择检测:http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html
在当前存在alert
的情况下,稍后将调用qtip:
Kolich.Selector.mouseup = function(){
var st = Kolich.Selector.getSelected();
if(st!=''){
alert("You selected:n"+st); // here will be showQTipAtMouseButtonFixed()
}
}
现在的问题似乎是整个qtip都集中在悬停上。当然,我可以将函数封装在.qtip()
调用周围,但这并不能真正解决问题。然后,工具提示将附加到我的函数,并且只有当我悬停它所附加的元素时才显示。
这将是带有包装函数的qtip
function showQTipAtMouseButtonFixed() {
$('#content').qtip({
content: 'Hello!',
position: {
target: 'mouse',
adjust: { mouse: false }
},
hide: {
fixed: true
},
style: {
tip: true,
classes: 'ui-tooltip-red'
}
});
}
使用this
而不是"#content"
(我在相关帖子中看到过)也不起作用。
但我希望它一直在后台活动,并在Kolich时显示。选择器说"现在您被显示了!"。
我也通过谷歌在show: 'click'
上找到了一个提示,但这也不是解决方案。只有当你真的假设点击时,它才有效,但在我的情况下,它更像是双击、鼠标移动或键盘。
这在qtip中可能吗?还是我必须从头开始使用CSS display
?
您尝试过qtip的"show"功能吗?
function showQTipAtMouseButtonFixed()
{
$('#target').qtip({
// your options
show: '',
hide: '',
content: {
prerender: true, // important
text: 'Whatever you want to display'
}
}).qtip('show');
}