为什么这个on()函数会在没有mousemove的情况下触发?

时间:2014-12-24 02:12:43

标签: javascript jquery mouseevent eventhandler

这是我的jQuery:

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

function updateCoords() {
    alert();
}

出于某种原因,updateCoords()点击.map,而不是点击并拖动。此外,off()函数无法按预期工作。单击.map后,我已经释放鼠标,它仍然会在JUST鼠标悬停时触发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>

0 个答案:

没有答案