首页 新闻 会员 周边 捐助

jquery 或js关于鼠标单击和拖拽的区别

0
悬赏园豆:20 [已解决问题] 解决于 2013-11-25 08:56

开始的想法是这样来判断的:
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层插入到一个容器中的指定位置。

小赖皮的主页 小赖皮 | 初学一级 | 园豆:71
提问于:2013-11-20 10:42
< >
分享
最佳答案
0

这样肯定不行,可以这样写:

$(".eMain>ul>li").mousedown(function () {

$(this).mouseup(function () { _ismove = "click"; }).mousemove(function () { _ismove = "move"; });

}

收获园豆:20
|WinKi| | 小虾三级 |园豆:669 | 2013-11-20 14:40

恩  这样写有用。只是补充的那个问题不能实现。我还是找找有什么插件吧

小赖皮 | 园豆:71 (初学一级) | 2013-11-21 14:08
其他回答(1)
0

eMain>ul>li  有这种写法吗。。。。怎么没见过呀

大芝麻 | 园豆:4 (初学一级) | 2013-11-20 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册