在javascript中捕获光标位置与元素内联

时间:2011-02-11 15:25:11

标签: javascript cursor-position

我正在尝试在表格单元格悬停时在鼠标旁边创建一个div弹出窗口。

<td onmouseover="bubblePopup("param1","param2");">This is the cell</td>

是否可以使用bubblePopup函数获取光标位置。

function bubblePopup(param1, param2){
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', param1);

    newdiv.style.width = "200px";
    newdiv.style.height = "80px";

    newdiv.style.position = "absolute";
    newdiv.style.left = cursorX + "px";
    newdiv.style.top = cursorY + "px";

    newdiv.innerHTML = "content";
    document.body.appendChild(newdiv);
}

我更喜欢原生的javascript(但也会考虑jquery选项)。它只需要在Firefox 3.5及更高版本中运行。

2 个答案:

答案 0 :(得分:4)

我把一个小提琴放在一起,可能会让你走上正轨。

http://www.jsfiddle.net/dduncan/WccJw/2/

(稍微编辑一下)

答案 1 :(得分:3)

http://jsfiddle.net/CtCXE/

var td = document.getElementById("thetd");

td.onmouseover = function(e){bubblePopup(e, 'param1','param2')};

function bubblePopup(e, param1, param2){
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', param1);

    newdiv.style.width = 200;
    newdiv.style.height = 80;

    var cursorX = e.pageX,
        cursorY = e.pageY;

    newdiv.style.position = "absolute";
    newdiv.style.left = cursorX + 'px';
    newdiv.style.top = cursorY + 'px';

    newdiv.innerHTML = "content";
    document.body.appendChild(newdiv);
}