开始的想法是这样来判断的:
mousedown+mousemove拖动
mousedown+mouseup 是单击,
需要移动的模块代码
<div class="eMain" id="Topname"> <ul class="ul-tool collapse"> <li class="moduleL ui-draggable" name="2"><a href="javascript:;"><i class="basic-too11-icon-active"> </i>11111</a></li> <li class="moduleL ui-draggable" name="2"><a href="javascript:;"><i class="basic-too11-icon-active"> </i>2222</a></li> <ul> </div>
jquery代码
$(function () { var _ismove; $(".eMain>ul>li").mousedown(function () { $(".eMain>ul>li").mouseup(function () { _ismove = "click"; }); $(".eMain>ul>li").mousemove(function () { _ismove = "move"; }); }); if (_ismove == "move") { alert('鼠标拖拽'); } else if (_ismove == "click") { alert('鼠标单击'); } });
这样写没效果。
补充下,这个问题可以跟我实际想要的效果不太一致。
我想要的效果是,鼠标放到目标li上时,出现隐藏的div层,然后拖动的是这个div层,而不是当前鼠标放的li上,所以要我上面说的那样是不行的,然后把这个div层插入到一个容器中的指定位置。
这样肯定不行,可以这样写:
$(".eMain>ul>li").mousedown(function () {
$(this).mouseup(function () { _ismove = "click"; }).mousemove(function () { _ismove = "move"; });
}
恩 这样写有用。只是补充的那个问题不能实现。我还是找找有什么插件吧
eMain>ul>li 有这种写法吗。。。。怎么没见过呀