标签: mousemove

移动鼠标光标而不触发 WM_MOUSEMOVE

我想使用SetCursorPos将鼠标在窗口中间(就像在 FPS 游戏中一样)。

问题是,当我这样做时,我的窗口会收到一个 WM_MOUSEMOVE——它充其量抵消了用户想要的任何移动,最坏的情况是进入反馈循环。

我考虑过使用 GetCursorPos 读取位置并忽略消息,如果它与我使用 SetCursorPos 移动它的位置相同。但是这种方法的问题在于鼠标是异步的。如果程序落后,那么 GetCursorPos 将返回一个与我预期不同的值——因此它不会知道忽略该消息。

有没有好的方法来处理这个问题?

winapi mousemove

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

MouseMove问题在画布上

我试图通过"mousemove"在画布上使用鼠标左右方形.

function start(){
    var canvastmp = document.getElementById("myCanvas")
    var canvas = canvastmp.getContext("2d");
    window.addEventListener('mousemove', trevor, false);
}
function trevor(pos){
    canvas.clearRect(0,0,600,400);
    var x = pos.clientX;
    var y = pos.clientY;
    canvas.fillRect(x-25,y-25,100,100);
}
window.addEventListener('load',start,false);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,什么都没有显示出来.我一直在调整它并且现在已经研究了一段时间,我似乎无法弄清楚什么是错的.再一次,我很抱歉这个完全没有问题!任何帮助都非常感谢.

此外,我正在使用Chrome,如果这有帮助.

javascript html5 canvas mousemove

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

如果 iframe 中发生 mousedown,文档将不会触发 mousemove 事件

我有一个同源的 iframe。iframe 中的鼠标事件在文档中触发,如下所示:

// this won't work
$('iframe').contents().find('body').on('mousedown mouseup mousemove', function(e) {
  $(document).trigger(e);
});

// this does work
$('iframe').contents().on('mousedown mouseup mousemove', function(e) {
  $(document).trigger(e);
});
Run Code Online (Sandbox Code Playgroud)

我的问题是如果在 iframe 中发生 mousedown 并且鼠标离开 iframe,则在发生 mouseup 之前,文档不会触发它自己的 mousemove 事件。

一旦鼠标离开 iframe,我已经尝试在 iframe 和文档中触发 mouseup,但文档 mousemove 事件在发生物理 mouseup 之前不会恢复。

javascript iframe jquery events mousemove

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

wpf HwndHost MouseMove 事件在前一个元素之前 MouseLeave 事件

我们有一个带有 Hwndhost 元素的 Wpf 应用程序,用于通过 DirectX 渲染 3D 内容。我们向客户端公开一个“Panel”接口,其中包含 MouseEnter 和 MouseLeave 事件。对于 Hwndhost“面板”,当我们第一次收到 HwndHost.WndProc 的 WM_MOUSEMOVE 事件时,我们模拟 MouseEnter 事件,因为 win32 没有 WM_MOUSEENTER 事件。另外,对于 HwndHost,我们通过 TrackMouseEvent() 请求 WM_MOUSELEAVE 事件,该事件在我们的“面板”界面上模拟 MouseLeave 事件。

问题是,当用户非常快速地将鼠标移动到 HwndHost 面板或从 HwndHost 面板移出时,我们会先收到鼠标移动到的面板的 Enter 事件,然后再收到鼠标移动的面板的离开事件。 当源面板和目标面板都是 wpf 元素时,不会发生这种情况,仅当涉及 hwndhost 元素时。另外,如果有两个 HwndHost 元素彼此相邻,则会发生相同的行为,因此看起来 win32 没有按照消息发生的顺序发送消息。

有谁知道解决这个问题的方法吗? 如果有一种方法可以让 Win32 按照事件发生的顺序发送事件,那就太好了。

下面是一个示例应用程序,它演示了向调试器输出窗口打印消息的问题:

// App.xaml.cs
using System;
using System.Windows;
using System.Runtime.InteropServices;

namespace WpfHostingWin32Control
{
    public partial class App : Application
    {
        [DllImport("comctl32.dll", EntryPoint = "InitCommonControls", CharSet =         CharSet.Auto)]
        public static extern …
Run Code Online (Sandbox Code Playgroud)

wpf mouseenter mouseleave mousemove hwndhost

5
推荐指数
0
解决办法
791
查看次数

jquery mousemove 如何停止

我有这个小提琴http://jsfiddle.net/JqBZb/193/我希望我的对象仅在按下红色方块时移动,但是当用户释放鼠标时我无法删除 mousemove 操作。在那之后它仍然会移动。

HTML:

<div class="pointer">
    <div class="marker"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.marker {
    background:#ED1C24;
    height:2px;
    right:0;
    position:absolute;
    top:35px;
    width:7px
}
.pointer {
    height:72px;
    position:absolute;
    top:82px;
    width:72px;
    border:1px solid red;
 left:100px;
}
Run Code Online (Sandbox Code Playgroud)

爪哇脚本:

var img = $('.pointer');

var offset = img.offset();

function mouse(evt) {
    var center_x = (offset.left) + (img.width() / 2);
    var center_y = (offset.top) + (img.height() / 2);
    var mouse_x = evt.pageX;
    var mouse_y = evt.pageY;
    var radians = Math.atan2(mouse_x - center_x, mouse_y - center_y);
    var degree = …
Run Code Online (Sandbox Code Playgroud)

jquery mousemove

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

如何从 jQuery 触发鼠标移动事件

我正在尝试mousemove使用 jQuery手动触发事件。演示在这个小提琴http://jsfiddle.net/qJJQW/

从 Stack Overflow 上的其他类似帖子来看,这似乎应该有效。为什么不是?

html javascript jquery mousemove jquery-events

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

Mousemove 事件未在页面元素或文档上触发

我正在尝试使用 js 滑块slick,但是当我在我的网站上包含滑块代码时,默认的“可拖动”选项不起作用。更具体地说,我无法在幻灯片 div 或网页 (Chrome) 中的文档上捕获任何 mousemove 事件。

在本地运行代码时,我可以毫无问题地观察 'mouseup'、'mousemove' 和 'mouseup' 事件,但是当我将滑块代码放入网页时,我只能观察到 'mouseup' 和 'mousedown' 事件.

下面是工作的本地代码。如果您运行它,它将在滑块 div 内记录 mousedown、mousemove 和 mouseup 事件。

当我将相同的代码移动到网站时,我无法观察到来自滑块 div 或文档的任何 mousemove 事件。是否有一些 js 已经在运行,可以完全阻止页面触发 mousemove 事件?

<html>
  <head>
      <title>My Now Amazing Webpage</title>

      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.css"/>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.css"/>
      <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.js"></script>
  </head>
  <body>

  <style>

    #container {
      width: 450px;
      height: 300px;
      margin: 0 auto;
      border: 2px solid black;
    }

  </style>

  <div id="container">
    <div class="your-class">
      <div><img src="http://lorempixel.com/300/300" /></div>
      <div><img …
Run Code Online (Sandbox Code Playgroud)

html javascript events mouseevent mousemove

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

带有 mousemove 的交互式背景蒙版(jQuery、CSS)

我正在尝试创建一个具有以下效果的页面:

这个效果

我是对的,直到我尝试为其添加背景。我习惯了 Photoshop(带有图层和蒙版),但不幸的是 html 没有蒙版。

这是我所拥有的。

小提琴

jQuery:

$(document).ready(function() {
  // calculate screen size
  var pageHeight = $(window).height();
  var pageWidth = $(window).width();

  $(window).on('mousemove', function(event) {
    // horizontal offset
      // 100% = completely dependable on mouse position
    var differenceFactor = 5;
    var mouse_x = event.pageX + 1
    var mouse_xPercentage = 100 / (pageWidth / mouse_x);
    var transformX = (mouse_x * -1) / (100 / differenceFactor) - (pageWidth);
    var actualTransform = transformX;

    // vertical offset
    // base degrees
    var …
Run Code Online (Sandbox Code Playgroud)

css jquery transform mousemove

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

Robot.mouseMove在Mac OS X中根本不起作用

我在IntelliJ IDE中使用该代码创建了Java文件

import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Robot;

public class JavaRobotExample {
    public static void main(String[] args) {
        int x = 12,
                y = 300;
        try {
            Robot robot = new Robot();
            robot.mouseMove(x, y);

            int xAct = (int)    MouseInfo.getPointerInfo().getLocation().getX(),
                    yAct = (int) MouseInfo.getPointerInfo().getLocation().getY();

            String sPred = String.format("Predicted mouse location : %, d, %, d", x, y),
                    sAct = String.format("Actual mouse location : %, d, %, d", xAct, yAct);

            System.out.println(sPred);
            System.out.println(sAct);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该示例在Windows …

java macos mousemove awtrobot macos-mojave

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

指针事件上的鼠标移动 none div

我如何在指针事件无div上触发mousemove事件,我无法编辑页面的html,只能编辑javascript(银行)

<h1>title</h1>
<div class="wrapper">
  <h3>element 1</h3>
  <h3>element 2</h3>
</div>
Run Code Online (Sandbox Code Playgroud)

该脚本当前仅触发主体作为目标,而不是元素

document.body.addEventListener("mousemove", function(e) {
  console.log(e.target)
})
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/anon/pen/PxOMQL

javascript mousemove

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