嗨,我一直在查看 jQuery 的拖动库中的一种方法,如果我按住鼠标按钮并拖动鼠标,然后释放按钮,我会根据原始屏幕像素获得该拖动的开始和结束坐标。我对此一无所知,也没有在 StackOverlaod 上找到任何东西。
谁能推荐一个例子?
谢谢格雷厄姆
嗨,我一直在查看 jQuery 的拖动库中的一种方法,如果我按住鼠标按钮并拖动鼠标,然后释放按钮,我会根据原始屏幕像素获得该拖动的开始和结束坐标。我对此一无所知,也没有在 StackOverlaod 上找到任何东西。
谁能推荐一个例子?
谢谢格雷厄姆
您可以使用获取 dragstart 和 dragend 的事件。试试这个代码
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/jquery-wp-content/themes/jquery/css/base.css?v=1">
<style>
#myDiv
{
width: 20px;
height: 20px;
background-color: Red;
}
</style>
<script>
$(document).ready(function () {
$("#myDiv").draggable({
start: function (e, ui) {
var parentOffset = $(this).parent().offset();
var relX = e.pageX - parentOffset.left;
var relY = e.pageY - parentOffset.top;
$("#start").html(" x: " + relX + ", y: " + relY);
},
stop: function (e, ui) {
var parentOffset = $(this).parent().offset();
var relX = e.pageX - parentOffset.left;
var relY = e.pageY - parentOffset.top;
$("#end").html(" x: " + relX + ", y: " + relY);
}
});
});
</script>
</head>
<body>
start Position:<span id="start"></span>
<br />
End Position:<span id="end"></span>
<div id="myDiv">
</div>
</body>
</html>
已编辑如果您想在没有拖动元素的情况下获取鼠标位置,请像这样使用
<script>
$(document).ready(function () {
$("body").mousedown(function (e) {
var parentOffset = $(this).parent().offset();
var relX = e.pageX - parentOffset.left;
var relY = e.pageY - parentOffset.top;
$("#start").html(" x: " + relX + ", y: " + relY);
});
$("body").mouseup(function (e) {
var parentOffset = $(this).parent().offset();
var relX = e.pageX - parentOffset.left;
var relY = e.pageY - parentOffset.top;
$("#end").html(" x: " + relX + ", y: " + relY);
});
});
</script>