【问题标题】:Can I detect a leftclick from mouse? Or Ctrl+Right Click?我可以检测到鼠标左键吗?还是Ctrl+右键?
【发布时间】:2010-12-02 00:50:09
【问题描述】:

我正在尝试检测用户是否按下了鼠标左键或右键 + ctrl 键,但我不确定如何执行此操作。

我知道只检测一次点击,我可以使用

<li onClick=\"dosomething()\">

有什么功能可以做

<li onLeftClick=\"dosomething()\"> ?

【问题讨论】:

  • 不,我的意思是左键单击。默认情况下 onClick ... 相当于右键单击。所以我想过滤掉一个leftClick动作......
  • 当您点击“添加评论”时,您使用的是哪个鼠标按钮?
  • @frames:你是左撇子吗? onclick 默认检测 primary 鼠标按钮,它位于 left 用于右手配置(最常见),right 用于左手配置。另请注意,某些浏览器不会将上下文单击(非主按钮)传递给网页。
  • 皮斯克沃尔,我是右撇子。 Dampe ...对不起,你是对的。我只是在那里愚蠢!我想要“右”单击功能的原因是,当用户单击“左”单击时,我目前正在做某事,但是我也想做其他事情,如果我要求他们这样做,我认为这是可能的使用他们的“其他”按钮...
  • 它是什么,只要你问对了。 ;)

标签: javascript onclick


【解决方案1】:

使用 jQuery 可以做类似的事情

$(document).click(function(e) { 
    if (e.button == 0) {
        // was the left button
        alert('clicked'); 
    }
});

对于普通的 javascript,在 onClick 函数中应该可以访问某种事件变量

也许这也有帮助,但我不知道它是否仍然准确

http://www.javascripter.net/faq/leftvsri.htm

【讨论】:

    【解决方案2】:

    您可以查看该事件的button 属性。

    您绝对不会喜欢不同的浏览器返回不同的值:查看Firefox 和IE 的文档。因此,您还需要进行某种浏览器检测。

    【讨论】:

      【解决方案3】:

      你看错了一面。 PHP 是服务器端的,这意味着它运行在服务器上,而不是访问您网站的人。当有人访问您的站点时,访问者 (client) 会向服务器计算机发送一个页面请求。服务器接收该请求并将信息发送给客户端。但是,当客户端单击他/她的鼠标时,不会(默认情况下)将任何内容发送到服务器。

      解决方案取决于您需要做什么。如果您需要在单击某些内容时运行 PHP 脚本,请考虑通过 AJAX 发送异步请求。您可以将 AJAX 调用放入 dosomething() 函数中。 http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html 是一个很好的起点。不过,如果您熟悉 jQuery,这是一个非常简单的函数调用:http://api.jquery.com/jQuery.ajax/

      【讨论】:

      • 我在他的问题中没有看到对 php 或 ajax 的引用。他的例子是javascript,问题被标记为javascript。不知道你为什么认为他的想法不对……
      • 它被重新标记):它之前有 PHP。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2023-03-20
      • 2011-04-26
      • 2017-09-30
      • 1970-01-01
      相关资源
      最近更新 更多