标签: mouseup

只有鼠标左键的jQuery鼠标功能?

我有这样的元素,其动画上的mouseup功能,但现在,它的工作原理为左都右按钮.有没有办法只使用按钮?

$(document).ready(function() {
    $("div").mouseup(function() {
        top: "-101%"
    });
});
Run Code Online (Sandbox Code Playgroud)

html css jquery animation mouseup

6
推荐指数
1
解决办法
4376
查看次数

如果在mouseMove事件中重绘了矩形,GoogleMaps将丢失mouseUp事件

以下代码示例让我感到困惑.这是我可以用来演示我的问题的更大代码的最简单版本.基本上我希望用户能够通过按住鼠标键并拖动它来绘制边界框.

如果我使用mouseMove函数中的setBounds重绘rectange,我从未看到mouseUp事件!如果我在mouseMove函数中禁用重绘矩形,我会得到mouseUp事件.我可以通过在mouseUp事件中绘制矩形来部分解决这个问题,但是当用户拖动框时,用户无法看到轮廓.

您可以在http://www.geoffschultz.org/Test/bounding_box.html上查看此代码示例

这是代码:

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <style type="text/css">
            html { height: 100% }
            body { height: 100%; margin: 0; padding: 0 }
            #mapdiv { height: 100% }
        </style>
        <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
        <script type="text/javascript">
            var map, mouseDownPos, gribBoundingBox = "", mouseIsDown = 0;

        function display_map()
        {       
            var latlng = new google.maps.LatLng(42, -71);
            var myOptions = {zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP};
            map = new google.maps.Map(document.getElementById("mapdiv"), myOptions);

            google.maps.event.addListener(map,'mousemove',function(event) {mouseMove(event);}); 
            google.maps.event.addListener(map,'mousedown',function(event) {mouseDown(event);});
            google.maps.event.addListener(map,'mouseup',function(event) {mouseUp(event);}); …
Run Code Online (Sandbox Code Playgroud)

javascript mousemove google-maps-api-3 mouseup mousedown

5
推荐指数
1
解决办法
1864
查看次数

jQuery事件在mouseup上停止

我正在尝试创建一个非常简单的应用程序,用户可以在按下鼠标按钮时将其绘制到具有选定颜色的表中,而在鼠标按下时事件将停止。

绘图效果很好,唯一的问题是释放鼠标时事件不会停止。我已经尝试了很多方法,但是显然我做错了。还尝试绑定和取消绑定该事件,但也没有起作用。

您可以在此处查看该代码的一种版本:http : //jsfiddle.net/mFzkG/8/

任何帮助,不胜感激!

jquery mouseup mousedown

5
推荐指数
1
解决办法
4877
查看次数

当鼠标移动到图像上时,jQuery鼠标没有被触发

当你mousedown在图像上,mousemove稍微移动鼠标()然后释放(mouseup),mouseup不用jQuery触发.

jsfiddle:http://jsfiddle.net/kVFTZ/

为什么是这样?如何在移动图像时使其工作?

jquery mouseup

5
推荐指数
1
解决办法
2320
查看次数

在“鼠标按下”时处理“鼠标离开”

我创建了一个带有独特边框样式的 div 的自定义按钮。我正在尝试处理“鼠标按下”以切换边框颜色以产生缩进的错觉。然后处理“mouseup”以切换回默认值。

问题是当鼠标离开按钮并且“mouseup”被触发时,它不再由 div 处理。我尝试拦截“mouseleave”,我尝试添加点击时的数据属性(不会更新),我尝试添加一个名为“imclicked”的带有 .addClass 的临时类(无法让它工作) .

我真的很挣扎。

到目前为止,这是我的代码:

function ToggleBorder() {
    // Get Border Colours
    //-----------------------------------
    var top    = $(this).css("borderTopColor"),
        right  = $(this).css("borderRightColor"),
        bottom = $(this).css("borderBottomColor"),
        left   = $(this).css("borderLeftColor");

    // Assign new Colours
    //-----------------------------------
    $(this).css("borderTopColor", bottom);
    $(this).css("borderLeftColor", right);
    $(this).css("borderBottomColor", top);
    $(this).css("borderRightColor", left);
}

$(".main-nav-button").mousedown(ToggleBorder);

$(".main-nav-button").mouseup(ToggleBorder);

$(".main-nav-button").mouseleave(function() {
    // test for mousedown
});
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能切换回 mouseleave 的默认边框?

css jquery mouseleave mouseup mousedown

5
推荐指数
1
解决办法
1488
查看次数

mousedown 和 mouseup 在触摸设备上触发

只是好奇mousedownmouseup事件的用途,因为它们也在触摸设备上触发。我认为mousedowntouchstart是互斥的(前者在桌面上工作,后者在触摸设备上工作),并且mouseuptouchend相同,但情况似乎并非如此。一次完整的触摸事件会触发上述所有事件:在 safari 和 chrome 上测试。因此,为了区分单击(鼠标)事件和单击(触摸)事件,我需要使用某种函数来告诉我这是否是触摸设备:

    function isTouchDevice() {
        return 'ontouchstart' in window        // works on most browsers
            || navigator.maxTouchPoints;       // works on IE10/11 and Surface
    }

    myElem.addEventListener("mousedown", () => {
        if (isTouchDevice()) return;
        // do something
    }, false);

    myElem.addEventListener("mouseup", () => {
        if (isTouchDevice()) return;
        // do something
    }, false);

    myElem.addEventListener("touchstart", () => {
        // do something
    }, false);

    myElem.addEventListener("touchend", () => {
        // do something
    }, false);
Run Code Online (Sandbox Code Playgroud)

我是否真的需要检查设备是否为触摸设备以区分鼠标单击和触摸单击?

javascript events touch mouseup mousedown

5
推荐指数
1
解决办法
6283
查看次数

Javascript mousup 事件触发很晚

我有一个jquery 排序插件,它工作得很好,但是如果我做很少的拖动操作,mouseup事件就会开始很慢。触发事件大约需要 1 秒。如果我转储 mousemove 事件的结束,它会立即停止,但 mouseup 事件会在第二个之后开始。我为代码中的每个方法添加了 console.log() ,但在拖动停止和鼠标向上之间没有调用。可能是什么问题呢?如何在浏览器中调试可能的并行进程?代码如下:

    ....
        state.doc
            .on( 'mousemove', dragging )
            .on( 'mouseup', endDrag );

    }

    /**
     * @desc Start dragging
     * @param e event obj.
     */
    function dragging( e )
    {
        ...

        console.log('dragging end');
    }


    function endDrag( e )
    {
        var cEl = state.cEl,
            hintNode = $( '#sortableListsHint', state.rootEl.el ),
            hintStyle = hint[0].style,
            targetEl = null, // hintNode/placeholderNode
            isHintTarget = false, // if cEl will be placed to the hintNode …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-chrome mouseup

5
推荐指数
1
解决办法
318
查看次数

无法解除将mousemove与pageX和pageY绑定

var mouseStillDown = false;
$(".grab").mousedown(function(e) {
        mouseStillDown=true;
        getLocation();
    }).mouseup(function(e) {
        mouseStillDown = false;
        getLocation();
    });

if(mouseStillDown) {
$("#image_360").bind("mousemove", function(e){
     $("#location").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
}

else if(!mouseStillDown) {
    $("#image_360").unbind("mousemove", function(e){
     $("#location").text("removed location");
    });
}
Run Code Online (Sandbox Code Playgroud)

即使我没有绑定的mousemove,我仍然会在div上看到带有pageX和pageY的文本 id=location

jquery mousemove mouseup mousedown

4
推荐指数
1
解决办法
4176
查看次数

在视图外部释放鼠标按钮时,NSView不会收到mouseUp:event

我有一个自定义NSView子类(例如)以下方法:

override func mouseDown(with event: NSEvent) { Swift.print("mouseDown") }
override func mouseDragged(with event: NSEvent) { Swift.print("mouseDragged") }
override func mouseUp(with event: NSEvent) { Swift.print("mouseUp") }
Run Code Online (Sandbox Code Playgroud)

只要按下鼠标(按钮),拖动并释放所有视图内部​​,这都可以正常工作.但是,当在视图内按下鼠标时,移动到视图外,然后才释放,我从未收到过该mouseUp事件.

PS:调用super实现没有帮助.

cocoa event-handling nsview appkit mouseup

4
推荐指数
1
解决办法
1269
查看次数

使用Process.Start()时,WindowsForm MouseUp会触发两次

在我的Windows窗体应用程序中,如果单击其中一个项目,我必须打开一个带有特定文件夹的新资源管理器窗口.我正在侦听MouseUp事件(因为我已经有一些点击检测,我需要点击坐标),如果我打开一个新的资源管理器窗口

private void listView1_MouseUp(object sender, MouseEventArgs e)
    {
        Process.Start(@"C:\");
    }
Run Code Online (Sandbox Code Playgroud)

它会两次打开资源管理器窗口.它肯定与之有关,Process.Start(@"C:\");因为当我将线路切换到正常的控制台输出时,它只执行一次.

有没有办法将事件标记为已处理或只是忽略第二次执行?

c# wpf winforms mouseup

4
推荐指数
1
解决办法
289
查看次数