[英]making use of mousemove, mousedown, and mouseup with a click and drag div
[英].mouseup() and .mousedown() not working with .mousemove()
由於某種原因,未調用我的.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);
一旦觸發mousedown
事件,您就將圓圈從光標移開。 當鼠標按鈕向上移動時,光標不再位於圓上,這意味着將不會調用$('.circle').mouseup
事件。
如果將圓圈保持在鼠標下方,則將捕獲mouseup
事件。 ( 請參閱此jsFiddle演示 。)
編輯:如果您的元素實際上是一個“圓圈”,那么您的問題很可能是@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);
您也可以檢查日志,上面有清晰的“向上”字樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.