相关疑难解决方法(0)

无法使用jquery的click事件处理程序来检测右键单击

在尝试使用jquery检测到鼠标右键时,我注意到点击事件处理程序似乎没有通过鼠标右键单击触发,而mousedown或mouseup事件处理程序则执行此操作.

例如,右键单击测试div后,以下警报"测试!":

$('#test').mousedown(function(e) {
    alert('testing');
});
Run Code Online (Sandbox Code Playgroud)

但是,以下内容不是:

$('#test').click(function(e) {
    alert('testing!');
});
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么?

javascript jquery right-click event-handling

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

在 jQuery 中检测链接上右键单击“在新选项卡中打开”?

我希望我的链接看起来像合法的网址,但行为不同,比如当点击事件发生时,转到我定义的某个跟踪网址。当我用鼠标左键单击链接时,我可以使用 .click() 处理程序捕获它并将 href 更改为其他内容。当我右键单击时,它不会被 .click() 捕获,但我可以使用 .mousedown() 和 .mouseup(),这只是我的问题的部分解决方案。

问题是,我想确保当某些用户右键单击该链接时,该链接仍然看起来合法,但是当他选择在新选项卡中打开该链接时,我会捕获该事件并更改 href。最后,当链接上发生实际点击事件时,href 将更改回原始值。他们实际去的网址会执行一些操作并将它们重定向到真实的网址,但它发生得非常快。因此,此功能的目标是欺骗用户并跟踪他们的点击。Facebook 做到了,但他们如何处理右键单击和“在新选项卡中打开”?

好吧,我猜如果没有一些代码就无法到达任何地方。我现在有一些代码:

    link = $(selectorName);
    var original_link = link.attr("href");
    link.click(function(){
        link.attr("href", "/track_and_redirect");
    }).mousedown(function(event) {
        switch (event.which) {
            case 3:
                //alert('Right mouse button pressed');
                link.attr("href", "/track_and_redirect");
                break;
            default:
        }
    }).mouseleave(function(){
        link.attr("href", original_link);
    });
Run Code Online (Sandbox Code Playgroud)

目前,当您右键单击该链接时,新的网址将显示在浏览器角落中,我该如何绕过它?

mouse jquery events

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

jQuery:mousemove事件 - 左,右在元素内

我想得到一个div的鼠标坐标,像这样:

$("#box").mousemove(function(e){
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;

document.getElementById("coords").innerHTML = x + ", " + y; });
Run Code Online (Sandbox Code Playgroud)

但我也希望能够判断光标是向左还是向右移动; 我知道我只需将当前鼠标位置与之前的鼠标位置进行比较,但我不知道在这种情况下如何做到这一点.

任何帮助赞赏.谢谢

jquery

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

在javascript中同时捕获鼠标左键和右键

在javascript中捕获鼠标左键和右键的最佳方法是什么?我没有使用jQuery(它是我的学习列表中的下一个),现在只是javascript.基本上,我想做点什么

 onClick()=javascript:rightClickFunction() // do right click function
 onContextMenu()=javascript:leftClickFunction() /
 onBoth() ???
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上唯一能找到的是: 如何用jQuery区分鼠标左键和右键

我该如何捕获双击按钮?在R和L按钮例程期间,我是否可以检查是否还单击了相反的按钮?

javascript

3
推荐指数
1
解决办法
1659
查看次数

如何检测右键+左键单击

我正在建立一个游戏

而我需要做一些事情,当用户点击鼠标右键,保存它,然后按下左键

我怎样才能检测到这种行为?

javascript jquery

3
推荐指数
1
解决办法
6853
查看次数

jQuery检测持续的mousedown

有没有办法检测连续的mousedown?换句话说,我希望在按下鼠标左键的同时继续运行一个功能.这是我试图做的一个例子.我有一个控制scrollLeft位置的按钮.每次单击都会增加20,但是我希望它在按下鼠标按钮时继续增量并停止onmouseup.

与按下鼠标按钮时滚动条上的箭头的工作方式类似

    var wrapperDiv = $("#wrapper-div");
    var scrollWidth = 0;

    $("#right-button").click(function() {
      if(scrollWidth < wrapperDiv[0].scrollWidth) {
        scrollWidth = scrollWidth+20;
        wrapperDiv.scrollLeft(scrollWidth);
      }

});
Run Code Online (Sandbox Code Playgroud)

jquery

2
推荐指数
1
解决办法
5847
查看次数

如何在5次右键单击后显示div

我想在用户右键单击多次(例如5次点击)后出现一些内容.然后应该显示一个div.

现在我正在使用这段代码:

document.oncontextmenu = function() { 
    $("#red").fadeIn(500).show().delay(3000).fadeOut(800);
    return false;
};
Run Code Online (Sandbox Code Playgroud)

这样做很好,但是它错误地发出了我在请求中说过的五次尝试.

更新:这里是正确的代码!

document.oncontextmenu = (function() {
var counter = 0;
return function() { 
    counter++;
    if (counter == 5) {
        $("#red").fadeIn(500).show().delay(3000).fadeOut(800, function() {
        counter = 0;
    });
    }
    return false;
};
Run Code Online (Sandbox Code Playgroud)

})();

感谢@James Thorpe

javascript jquery

2
推荐指数
1
解决办法
76
查看次数

获得右键单击的元素JQuery

<li>当我右键单击它时,我想得到我的元素:出现一个自定义的上下文菜单,我想对我最初选择的元素进行处理<li>.我已经尝试了这个,$(this).attr("id");但它返回了我的上下文菜单项,而不是我原来的右键单击<li>.

jquery right-click html-lists

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