Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript使用鼠标点击保持导航?_Javascript_Jquery_Mouseevent - Fatal编程技术网

Javascript使用鼠标点击保持导航?

Javascript使用鼠标点击保持导航?,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我有一个可滚动的div标签(溢出)。现在我想用鼠标点击并按住,然后移动来上下导航(就像AdobeReader中的手动光标功能是如何工作的) 有没有js脚本来实现这一点? 具体来说,我正在使用jquery,任何jquery插件来实现这一点?我不知道任何插件,但这应该不会太难: $(function() { $('#foo').mousedown(function(e) { var start = e.pageY; var startPos = $(this)

我有一个可滚动的div标签(溢出)。现在我想用鼠标点击并按住,然后移动来上下导航(就像AdobeReader中的手动光标功能是如何工作的)

有没有js脚本来实现这一点?
具体来说,我正在使用jquery,任何jquery插件来实现这一点?

我不知道任何插件,但这应该不会太难:

$(function() {
    $('#foo').mousedown(function(e) {
        var start = e.pageY;
        var startPos = $(this).scrollTop();
        var el = $(this);

        $().mousemove(function(e) {
            var offset = start - e.pageY;
            el.scrollTop(startPos + offset);
            return false;
        });

        $().one('mouseup', function(e) {
            $().unbind();
        });

        // Only if you want to prevent text selection
        return false;
    });
});
可在此处找到一个工作示例:


伟大的正是我要找的。谢谢!现在,当尝试在#foo(更大的z索引)上放置另一个div框时,会出现另一个问题。该代码也适用于该div框。您知道如何删除它吗?您必须停止嵌套元素中的事件传播-当您单击嵌套元素时,mousedown事件会传播回
#foo
元素。解决这个问题的简单方法是使用
$('#foo*')。此代码段停止来自
#foo
的所有子级的事件传播。这可能不是所有情况下都需要的,但应该对你有用。那不行。我做了一个event.stopPropagation()而不是:-)huy,其效果与
返回false相同