0

我正在尝试在 jQuery UI ( http://jqueryui.com/selectable/#default )中构建类似的东西

  • 单击项目 1,然后拖动鼠标 - 您将看到 [轮廓矩形] 作为所选项目的视觉提示。

当我在 Google Closure 中尝试 thsi 时。我在容器中创建了一个容器和项目。与我们在此处演示的内容非常相似 http://closure-library.googlecode.com/git/closure/goog/demos/container.html

我修改了demo添加了4行代码

  goog.events.listen(goog.dom.getElement('tb4'),
        goog.events.EventType.MOUSEOVER,
        function(e) {
          logger.info('e.clientX :'+e.clientX +' - e.clientY :'+ e.clientY);
        });

托管在这里(http://jsbin.com/ixEvocA/1/watch?output

  • 在滚动容器部分结束
  • 尝试将鼠标垂直悬停 - 这非常快并且事件响应很好
  • 水平 -> 留在一个项目中 - 这很慢

我做错了什么?或者我怎样才能让它更快。这样我就可以像 jquery ui 一样拥有平滑的 [outline rectangle]。

4

1 回答 1

1

mouseover事件不会像您期望的那样被触发。相反,它只是一种“稍微复杂的形式” mouseenter(参见https://developer.mozilla.org/en-US/docs/Web/Reference/Events/mouseover)。

如果我理解得很好,您可以通过将您收听的事件替换为mousemove.

尝试

goog.events.listen(goog.dom.getElement('tb4'),
    goog.events.EventType.MOUSEMOVE,
    function(e) {
      logger.info('e.clientX :'+e.clientX +' - e.clientY :'+ e.clientY);
    }
);
于 2013-10-23T07:53:37.150 回答