出于某种原因,我的.mouseup()
事件未被调用。理想情况下,当用户激活mouseup()
时,我想要console.log。
有人知道出了什么问题吗?
$('.circle').mousedown(function () {
console.log('mousedone');
$(document).mousemove(function (e) {
console.log(e.pageY);
$('.circle').offset({
left: e.pageX,
top: e.pageY
});
});
});
$('.circle').mouseup(function () {
console.log('up');
});
var p = $('.square').position();
console.log(p.left);
答案 0 :(得分:2)
触发mousedown
事件后,您正在将光圈移离光标。当鼠标按钮向上移动时,光标不再在圆圈上方,这意味着不会调用$('.circle').mouseup
事件。
如果您将圆圈保留在鼠标下方,则会捕获mouseup
事件。 (See this jsFiddle demo。)
答案 1 :(得分:1)
编辑:如果你的元素实际上是一个'圆圈',那么你的问题很可能就是@Peter Olson所引发的问题。
我建议您尝试使用
$('.example').on('mouseup', function(){ console.log('mouseup'); });
以下是一个示例:http://jsfiddle.net/Grimbode/qsE56/
通过这种方式调用你的事件。
$('.circle').on('mousedown',function () {
console.log('mousedone');
$(document).on('mousemove', function (e) {
console.log(e.pageY);
$('.circle').offset({
left: e.pageX,
top: e.pageY
});
});
});
$('.circle').on('mouseup', function () {
console.log('up');
});
var p = $('.square').position();
console.log(p.left);
你也可以查看日志,上面写着一个清晰的'up'。