Захват позиции курсора в встроенном JavaScript с элементом - PullRequest
1 голос
/ 11 февраля 2011

Я пытаюсь сделать всплывающее окно 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 ]

4 голосов
/ 11 февраля 2011

Я собрал скрипку, которая могла бы направить вас на правильный путь.

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

(отредактировано, чтобы немного подправить)

3 голосов
/ 11 февраля 2011

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