Jquery 紧随其后的工具提示';s光标/插入符号不是鼠标
可能重复:Jquery 紧随其后的工具提示';s光标/插入符号不是鼠标,jquery,cursor,tooltip,Jquery,Cursor,Tooltip,可能重复: 所以我有一个网站有一个巨大的文本区域,基本上是整个屏幕。但我想在这里面加上预测这个词。我有所有的方法来做到这一点,实际上我有,但我需要一个跟随光标的工具提示。有没有办法用JavaScript实现这一点?另外,我所说的光标并不是指鼠标。应该允许用户自由移动鼠标,只要文本区域处于焦点位置,但工具提示会显示在光标所在的位置。这在JavaScript中是可能的,还是我在做梦?作为参考,如果有人使用AdobeDreamWeaver,请查看键入单词时结果的显示方式。谢谢另外,如果您知道有任何j
所以我有一个网站有一个巨大的文本区域,基本上是整个屏幕。但我想在这里面加上预测这个词。我有所有的方法来做到这一点,实际上我有,但我需要一个跟随光标的工具提示。有没有办法用JavaScript实现这一点?另外,我所说的光标并不是指鼠标。应该允许用户自由移动鼠标,只要文本区域处于焦点位置,但工具提示会显示在光标所在的位置。这在JavaScript中是可能的,还是我在做梦?作为参考,如果有人使用AdobeDreamWeaver,请查看键入单词时结果的显示方式。谢谢另外,如果您知道有任何jQuery插件可以做到这一点,请告诉我!谢谢 编辑 还有 我以前做过一个工具提示jQuery插件,但这些都是鼠标坐标,如下所示:
function(e) {
if(...){
//Code Here
}
}
您总是导入“e”以获取鼠标位置的位置。实际上,我所需要的只是一种跨浏览器的方式来获取文本区域中光标的位置。谢谢 你的问题很模糊,我不确定你在问什么,你也没有提供一个例子,所以我没什么要看的(提示:使用JSFiddle) 这就是你要找的吗
$(document).ready(function() {
//Tooltips
$(".tip_trigger").hover(function(){
tip = $(this).nextAll('.tip');
tip.show(); //Show tooltip
}, function() {
tip.hide(); //Hide tooltip
}).mousemove(function(e) {
var mousex = e.pageX + 20; //Get X coodrinates
var mousey = e.pageY + 20; //Get Y coordinates
//Absolute position the tooltip according to mouse position
tip.css({ top: mousey, left: mousex });
});
});
这将使工具提示与鼠标简单对齐
您可以添加此代码以确保工具提示不会离开视口
var tipWidth = tip.width(); //Find width of tooltip
var tipHeight = tip.height(); //Find height of tooltip
//Distance of element from the right edge of viewport
var tipVisX = $(window).width() - (mousex + tipWidth);
//Distance of element from the bottom of viewport
var tipVisY = $(window).height() - (mousey + tipHeight);
if (tipVisX < 20) { //If tooltip exceeds the X coordinate of viewport
mousex = e.pageX - tipWidth - 20;
} if (tipVisY < 20) { //If tooltip exceeds the Y coordinate of viewport
mousey = e.pageY - tipHeight - 20;
}
var tipWidth=tip.width()//查找工具提示的宽度
var tipHeight=尖端高度()//查找工具提示的高度
//元素与视口右边缘的距离
var tipVisX=$(window.width()-(mousex+tipWidth);
//元素与视口底部的距离
var tipVisY=$(window).height()-(mousey+tipHeight);
如果(tipVisX<20){//如果工具提示超过视口的X坐标
mousex=e.pageX-tipWidth-20;
}如果(tipVisY<20){//如果工具提示超过视口的Y坐标
mousey=e.pageY-tipHeight-20;
}
下面是一个工作示例:我没有从事件对象中看到有关光标的任何信息。我知道这就是问题所在。我猜事件对象不处理光标位置:(这可以帮助你原型使用我最新的插件控制文本区域插入符号:)很好的整洁和解释的解决方案,很棒的东西!