jquery – 触发单击并保持事件

前端之家收集整理的这篇文章主要介绍了jquery – 触发单击并保持事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
题:

使用jQuery,我如何模仿点击保持事件?

我目前正在靠墙撞墙,似乎无法弄清楚如何解决这个问题!

我也试过在谷歌和论坛上搜索,但无济于事.

在我目前的例子中,我使用的是jQuery UI的.draggable().

理想情况下,我想做以下事情:

>在div上执行click / mousedown.
>模仿点击并保持事件,并能够自由移动元素.
>在下一次单击/ mousedown时,结束单击并保持事件.

当我尝试以下功能

$("#drag").draggable().mousedown(function(e){
    e.preventDefault();
    return $(this).mousedown();
});

然后它会导致无限循环,最终导致浏览器崩溃.但是,我不确定如何启动常量.mousedown()事件.

这是我目前拥有的演示:http://jsfiddle.net/vPruR/16/.

任何帮助将不胜感激!

解决方法

我认为没有一些选项来模拟点击并按住.此外,它可能会创建太多的浏览器依赖.

所以你可以尝试下面的东西.

var click = false,top = null,left = null;

$(document).bind('mousemove',function (e) {
   if (click == true) {
      $('#drag').css({
         left: e.pageX - left,top: e.pageY - top
       });
    }
});

$('#drag').draggable().click(function(e) {
    top = e.pageY - $('#drag').position().top; 
    left = e.pageX - $('#drag').position().left;
    click = !click;
    return false;
});

$('html').click(function() {
    click = false;
});

演示:http://jsfiddle.net/dirtyd77/qbcQn/

猜你在找的jQuery相关文章