gpt4 book ai didi

javascript - Angular 鼠标移动事件

转载 作者:行者123 更新时间:2023-11-28 08:30:28 26 4
gpt4 key购买 nike

我已经制定了一个指令,在内部我尝试监听 $document.mousemove 事件以重新定位 div - 目的是制作数字 slider (即 1-100 之间的幻灯片编号)。

<div ng-mousedown="handleDown($event)"></div>

上面的 mousedown 事件由以下函数触发和处理:

$scope.handleDown = function(event) {
console.log("MOUSE DOWN");
event.preventDefault();
startX = event.pageX - x;
startY = event.pageY - y;
$document.on('mousemove', mousemove);
$document.on('mouseup', mouseup);
};

mouseup 函数确实起作用并导致控制台日志,但 mousemove 根本不触发:

function mousemove(event) {
console.log("MOUSE MOVE");
}

function mouseup() {
console.log("MOUSE UP");
$document.unbind('mousemove', mousemove);
$document.unbind('mouseup', mouseup);
}

如果相关,我的指令:

.directive('fmSlider', function($document) {

return {
restrict: 'E',
scope: {
fmMin: '=',
fmMax: '=',
fmDefault: '='
},
templateUrl: 'path-to-template/slider.html'
};

});

我不明白为什么 mouseup 可以工作,但 mousemove 却不行。感谢您的帮助。

最佳答案

我不知道这是否对您有帮助,但我的代码遇到了类似的问题,并且我的 Controller 声明首先看起来像这样

app.controller('ToolBoxCtrl', function ($scope)

但是当我将其更改为

app.controller('ToolBoxCtrl', function ($scope,$document)

然后就成功了。我不太清楚为什么,但至少有一些东西。

感谢查理·马丁的例子

关于javascript - Angular 鼠标移动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com