题:
使用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; });