screenX/ Y,clientX/ Y和pageX/有Y什么区别?
同样对于iPad Safari,计算与桌面上的计算类似 - 或者由于视口有一些差异?
如果你能指出我的例子,那就太棒了.
如何获得鼠标位置?我希望它在屏幕位置方面.
我启动我的程序我想设置为当前鼠标位置.
Location.X = ??
Location.Y = ??
Run Code Online (Sandbox Code Playgroud)
编辑:这必须在创建表单之前发生.
我试图用鼠标画在HTML5画布上,但它似乎运行良好的唯一方法是如果画布位于0,0(左上角),如果我改变画布位置,由于某种原因它不会像它应该画的那样.这是我的代码.
function createImageOnCanvas(imageId){
document.getElementById("imgCanvas").style.display = "block";
document.getElementById("images").style.overflowY= "hidden";
var canvas = document.getElementById("imgCanvas");
var context = canvas.getContext("2d");
var img = new Image(300,300);
img.src = document.getElementById(imageId).src;
context.drawImage(img, (0),(0));
}
function draw(e){
var canvas = document.getElementById("imgCanvas");
var context = canvas.getContext("2d");
posx = e.clientX;
posy = e.clientY;
context.fillStyle = "#000000";
context.fillRect (posx, posy, 4, 4);
}
Run Code Online (Sandbox Code Playgroud)
HTML部分
<body>
<div id="images">
</div>
<canvas onmousemove="draw(event)" style="margin:0;padding:0;" id="imgCanvas"
class="canvasView" width="250" height="250"></canvas>
Run Code Online (Sandbox Code Playgroud)
我已经读过有一种方法可以在JavaScript中创建一个简单的函数来获得正确的位置,但我不知道如何做到这一点.
我有一个链接,当点击时,我希望它将鼠标的位置向右移动(或者在视口内的任何位置).
在代码中它可能看起来类似于以下内容:
$('a#expand').click(function(e){
$(document)
.mouseXPos(e.pageX + 50)
.mouseYPos(e.pageY + 50);
});
Run Code Online (Sandbox Code Playgroud)
当然,链接可能没有必要,但是我所追求的类似"设置鼠标位置"功能.
我已经看到了将光标位置移动到文本中某个位置的解决方案,但我没有从中收集到太多信息.
我想获得鼠标指针所在的控件的鼠标位置.这意味着当我将光标放在控件的起点(左上角)时,它应该给出(0,0).我使用以下代码:
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
this.Text = Convert.ToString(Cursor.Position.X + ":" + Cursor.Position.Y);
}
Run Code Online (Sandbox Code Playgroud)
但是这给出了与屏幕无关的控制位置.
代码示例将不胜感激.
我在WPF 4和vb.net 2010中有一个项目.
窗户里面有一块画布.窗口是全屏,但画布在窗口中央设置为实心640x480.我需要在画布内部获取鼠标位置,但不要在窗口内部.我该怎么做呢?
它在特定控件中工作,但它不能解决特定控件.
如何直接从屏幕上获取鼠标位置并独立于任何控件使用鼠标事件(没有平台调用)?
2需要点:
它应该在不使用Platform Invoke的情况下解决.
接下来两个不起作用:
System.Windows.Input.Mouse.GetPosition(this)
Run Code Online (Sandbox Code Playgroud)
不会将鼠标定位到特定控件.
System.Windows.Forms.Cursor.Position.X
Run Code Online (Sandbox Code Playgroud)
System.Windows.Forms.Cursor.Position 不起作用,因为它在WPF应用程序中没有类型,但它适用于Windows窗体应用程序.
IntelliSense获取System.Windows.Forms.Cursor.Position,但它没有获得任何类型的Position,因此我无法得到:
Position.X
Position.Y
Run Code Online (Sandbox Code Playgroud)
和
Point pointToWindow = Mouse.GetPosition(this);
Point pointToScreen = PointToScreen(pointToWindow);
Run Code Online (Sandbox Code Playgroud)
不会将鼠标定位到特定控件.
function move(e,obj,but){
if(typeof(obj) === 'string'){
obj = document.getElementById(obj) ;
}
if(typeof(but) === 'string'){
but = document.getElementById(but) ;
}
//elementCoord(but) ;//get the current coords of the button &
elementCoord(obj) ;//the container
e = e || window.event ;
var mouseX = e.clientX ;
var mouseY = e.clientY ;
//alert('mouseX='+mouseX+', but.XCoord '+but.XCoord) ;
var diffX = Math.abs(obj.XCoord - mouseX) ;
var diffY = Math.abs(obj.YCoord - mouseY) ;
but.addEventListener("dragend",function(evt){
evt = evt || window.event ;
mouseX = evt.clientX ;
mouseY = evt.clientY ;
obj.style.left …Run Code Online (Sandbox Code Playgroud) 嗨,
我做了一个弹出窗口,默认情况下隐藏并在窗口触发点击时打开.必须在触发事件的任何地方显示弹出窗口.但是有一些限制:
必须在当前可见窗口显示弹出窗口.意思是,如果我在窗口的最右侧部分单击,则弹出窗口必须显示在单击位置的右侧以避免滚动.
如果窗口滚动,则无论滚动如何,它都应显示在窗口的可见部分.
除了在这种情况下,如果窗口滚动,一切都在我现在的代码中正常工作.如果向下滚动并单击窗口中间,则会在窗口当前显示区域外显示弹出窗口.........................
<!DOCTYPE HTML PUBLIC>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script>
<style>
div{
border:1px solid;
background:#ff9999;
width:500px;
height:500px;
display:none;
position:absolute;
}
</style>
<script>
var mouseX,mouseY,windowWidth,windowHeight;
var popupLeft,popupTop;
$(document).ready(function(){
$(document).mousemove(function(e){
mouseX = e.pageX;
mouseY = e.pageY;
//To Get the relative position
if( this.offsetLeft !=undefined)
mouseX = e.pageX - this.offsetLeft;
if( this.offsetTop != undefined)
mouseY = e.pageY; - this.offsetTop;
if(mouseX < 0)
mouseX =0;
if(mouseY < 0)
mouseY = 0;
windowWidth = $(window).width();
windowHeight = $(window).height();
}); …Run Code Online (Sandbox Code Playgroud) 我有一个多行文本框,根据给出的数据显示一些值(通常每行一个值).
(为了有一个带有一些'替代'数据的工具提示弹出窗口)我想得到鼠标悬停在上面的单词(或至少是这一行),这样我就可以找到显示的替代方法.
我有一些关于如何通过基于文本框和字体大小的计算来做到这一点的想法,但我不知道要走这条路,因为尺寸和字体可能经常变化.
那么......有没有办法使用鼠标位置抓取特定的文本框文本?