0

这是我的 jQuery:

$('.map').mousedown(function () {
    $(this).on("mousemove", updateCoords);
});
$(window).mouseup(function () {
    $(".map").off("mousemove");
});

function updateCoords() {
    alert();
}

出于某种原因,updateCoords()在单击时触发.map,而不是在单击和拖动时触发。此外,该off()功能无法按预期工作。在.map被点击之后,我已经释放了鼠标,它仍然会updateCoords()在鼠标悬停时触发。为什么是这样?

$('.map').mousedown(function() {
  $(this).on("mousemove", updateCoords);
});
$(window).mouseup(function() {
  $(".map").off("mousemove");
});

function updateCoords() {
  alert();
}
.map {
  width: 200px;
  height: 200px;
  background: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="map"></div>

4

0 回答 0