相关疑难解决方法(0)

什么是HTML中的视口.

什么是HTML中的视口?您能举例说明如何访问视口详细信息吗?

html javascript viewport

68
推荐指数
3
解决办法
4万
查看次数

带有jQuery的HTML5 - 在Firefox中未定义e.offsetX

在我的HTML5页面中,我有一个div mousemove事件如下:

$('#canvas').mousemove(function(e){
    xpos = e.offsetX;
    ypos = e.offsetY;
    $('#mouse').html("X : " + xpos + " ; Y : " + ypos);
});
Run Code Online (Sandbox Code Playgroud)

它适用于谷歌浏览器.但在Firefox中,两者都给出了价值undefined.我已经使用Firebug进行了检查,即将e对象记录到控制台.这两个offsetXoffsetY被发现undefined.

当我在谷歌搜索,有一个解决方案,说我应该使用layerXlayerY,如果这两个offsetXoffsetY是不确定的.但是从Firebug,我无法找到它.甚至我试过这样的尝试:

xpos = (e.offsetX==undefined)?e.layerX:e.offsetX;
ypos = (e.offsetY==undefined)?e.layerY:e.offsetY;
Run Code Online (Sandbox Code Playgroud)

但这也是undefined值得的.

我正在使用最新的jQuery - v1.8.2.我正在使用我的Firefox v14.0.1进行测试

任何想法或建议?


编辑

感谢dystroy和vusan帮助我.上述问题的解决方案如下:

$('#canvas').mousemove(function(e){
  $('#cursor').show();
  if(e.offsetX==undefined) // this works for Firefox
  {
    xpos = e.pageX-$('#canvas').offset().left;
    ypos = e.pageY-$('#canvas').offset().top;
  }             
  else                     // works …
Run Code Online (Sandbox Code Playgroud)

jquery events html5 undefined

58
推荐指数
3
解决办法
2万
查看次数

可视视口和布局视口之间的区别?

iPhone/iPad等移动设备的可视视口和布局视口之间的区别是什么?

我已经浏览了很多在线资源,但我仍然不清楚它.

html css viewport mobile-website ipad

34
推荐指数
2
解决办法
2万
查看次数

34
推荐指数
3
解决办法
2万
查看次数

单击坐标而不标识元素

作为登录功能的硒测试的一部分,我想通过识别其坐标点击按钮,并指示硒点击这些坐标.这将在没有实际识别元素本身的情况下完成(通过id,xpath等).

我知道还有其他更有效的方法来运行click命令,但我希望专门使用这种方法来最好地匹配用户体验.谢谢.

selenium selenium-rc

22
推荐指数
7
解决办法
7万
查看次数

使图像跟随鼠标指针

我需要一个火箭来跟踪我网站上鼠标指针的移动.这意味着它应该旋转以面向运动方向,并且如果可能,根据它必须覆盖的距离加速.这甚至可能吗?jquery也许?

javascript jquery

20
推荐指数
3
解决办法
10万
查看次数

获取touchmove或touchend的当前DOM对象已结束

正如Mozilla在TouchEvent页面上所述:

事件的目标是接收与触摸点相对应的触摸启动事件的相同元素,即使触摸点已移出该元素之外.

这与mousemove和mouseup不同,其中目标实际上是鼠标所在的DOM元素.

在不使用任何库的情况下,获取我touchmovetouchend事件发生的元素的最佳方法是什么?

javascript dom javascript-events

8
推荐指数
1
解决办法
3583
查看次数

滚动上的画布签名会更改鼠标绘制位置

我正在尝试使用画布,以便用鼠标可以写出他们的签名.一切正常,直到我拉伸或滚动屏幕然后它在远离鼠标的不同位置绘制线条.

代码:

function onMouseUp(event) {
    'use strict';
    mousePressed = false;
}
function onMouseMove(event) {
    'use strict';
    if (mousePressed) {
        event.preventDefault();
        mouseX = event.clientX - can.offsetLeft - mleft;
        mouseY = event.clientY - can.offsetTop - mtop;
        ctx.lineTo(mouseX, mouseY);
        ctx.stroke();
    }
}
function onMouseDown(event) {
    'use strict';
    mousePressed = true;
    mouseX = event.clientX - can.offsetLeft - mleft;
    mouseY = event.clientY - can.offsetTop - mtop;
    ctx.beginPath();
    ctx.moveTo(mouseX, mouseY);
}
can.addEventListener('mousemove', onMouseMove, false);
can.addEventListener('mousedown', onMouseDown, false);
can.addEventListener('mouseup', onMouseUp, false);
Run Code Online (Sandbox Code Playgroud)

HTML看起来像: <canvas id="signature" width="567" height="150"></canvas>

javascript jquery html5 canvas

7
推荐指数
1
解决办法
1236
查看次数

在触摸屏上拖放

我一直在寻找关于这些事件如何运作的明确指南,现在我比起初时更困惑.

我网站的某些功能涉及拖放.当前移动设备(或任何没有鼠标的东西)通过让用户选择项目,点击"移动"按钮,然后触摸放置点来支持.虽然这很有效(项目在可见网格上),但它不像拖动那样用户友好.

我最初的理解是,只要我给你element.onmousedown,element.onmousemove而且element.onmouseup我可以简单地也将相同的处理程序element.ontouchstart,element.ontouchmoveelement.ontouchend分别.

但是,这留下了以下问题:

  • 如何获取触摸点的坐标,以及它的相对位置?
  • 是否会平移视图(拖动的默认操作),如果可以取消?
  • 如果一个手指恰好位于可拖动元素上,如何避免干扰多点触摸操作(如捏缩放)?

javascript drag-and-drop touch

6
推荐指数
2
解决办法
2万
查看次数

为什么clientX和Y滚动变化?

我创建了一个在鼠标移动时跟随您的鼠标x和y坐标的形状。您可以在此处检查结果:http : //codepen.io/anon/pen/qNKgqo

这样可以正常工作,并且形状位于鼠标光标的中心。不幸的是我有一些问题。

如您在演示中所见,我有一个部分位于屏幕顶部。在HTML标记的最顶部,您会注意到一个注释掉部分。如果删除注释标记,则会设置一个新部分。当您将鼠标悬停在项目上时,结果与之前相同,但是当您滚动到下一部分时-带有三个拇指的那个部分,您会注意到形状未居中于鼠标,而是偏移的方式。只有当您将鼠标悬停在底部上时,您才会看到一小块形状。

为了使圆心位于鼠标光标的中心,我使用以下脚本:

  var target = $(this);
  var dot = target.find('.pointer');

  var height = dot.height();
  var width = dot.width();

  var offset = target.offset();
  var top = offset.top;
  var left = offset.left;

  var mX = (event.clientX - left) - width / 2;
  var mY = (event.clientY - top) - height / 2;
Run Code Online (Sandbox Code Playgroud)

上面的代码来自mouseMove函数,将在鼠标移动时触发。

我的问题是我做错了什么或代码中缺少什么。当只有一个部分时,它应该可以正常工作,但是在将另一部分添加到HTML标记后,它将被弄乱。

html javascript css jquery

1
推荐指数
1
解决办法
1801
查看次数