Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 紧随其后的工具提示';s光标/插入符号不是鼠标_Jquery_Cursor_Tooltip - Fatal编程技术网

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;
}

下面是一个工作示例:

我没有从事件对象中看到有关光标的任何信息。我知道这就是问题所在。我猜事件对象不处理光标位置:(这可以帮助你原型使用我最新的插件控制文本区域插入符号:)很好的整洁和解释的解决方案,很棒的东西!