键盘事件悬停/选择JQplot中的点

时间:2011-08-23 19:19:56

标签: jquery jqplot keyboard-events onkeypress

有没有办法将键盘事件绑定到jqPlot?我试图仅使用左右箭头键在地图上悬停点。此外,每一点都要突出显示。

我知道有办法点击,双击等。

$('#chart1').bind('jqplotClick', function(ev, gridpos, datapos, neighbor) {
   if (neighbor) {
   }
});

我也实施了转移点击。

$('#chart1').bind('jqplotShiftClick', function(ev, gridpos, datapos, neighbor) {
    if (neighbor) {
    }    
});

定义:

this.onClick = function(ev) {
    // Event passed in is normalized and will have data attribute.
    // Event passed out is unnormalized.
    if (ev.shiftKey) {
        var positions = getEventPosition(ev);
        var p = ev.data.plot;
        var neighbor = checkIntersection(positions.gridPos, p);
        var evt = jQuery.Event('jqplotShiftClick');
        evt.pageX = ev.pageX;
        evt.pageY = ev.pageY;
        $(this).trigger(evt, [positions.gridPos, positions.dataPos, neighbor, p]);
    } else {
        var positions = getEventPosition(ev);
        var p = ev.data.plot;
        var neighbor = checkIntersection(positions.gridPos, p);
        var evt = jQuery.Event('jqplotClick');
        evt.pageX = ev.pageX;
        evt.pageY = ev.pageY;
        $(this).trigger(evt, [positions.gridPos, positions.dataPos, neighbor, p]);
    }
};​

但在所有这些中,都涉及到点击。我希望能够在不实际选择点的情况下产生相同的效果。

如果您有任何想法,请告诉我。

1 个答案:

答案 0 :(得分:0)

我能想到的唯一方法是将keydownkeypress的事件附加/绑定到文档本身,并相应地执行关键操作。

This was incorporated into the sample available here.

不要忘记在结果框内单击以使用键盘。