Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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_Html_Css - Fatal编程技术网

Javascript 右键单击就像左键单击事件一样

Javascript 右键单击就像左键单击事件一样,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下代码: document.getElementById("1").oncontextmenu = function() { return false } 它禁用右键单击后显示的小窗口(仅在按钮/图像上) 在我的代码()中,除了在图像上单击鼠标右键触发左键单击事件并更改图像直到我移动鼠标外,一切都正常 另一个相关的问题是,如果我按下左键而不释放,然后右键单击(释放右键),它也会更改图像 我需要防止图像更改与右键单击。它应该充当浏览器的关闭按钮(除了它是另一个图像,并且它不会关闭任何东

我有以下代码:

document.getElementById("1").oncontextmenu = function() {
  return false
}
它禁用右键单击后显示的小窗口(仅在按钮/图像上)

在我的代码()中,除了在图像上单击鼠标右键触发左键单击事件并更改图像直到我移动鼠标外,一切都正常

另一个相关的问题是,如果我按下左键而不释放,然后右键单击(释放右键),它也会更改图像


我需要防止图像更改与右键单击。它应该充当浏览器的关闭按钮(除了它是另一个图像,并且它不会关闭任何东西)。

这是因为
oncontextmenu
事件。由于
oncontextmenu
事件,如果将其删除,它将正常工作。移除它,它将工作

您可以使用
事件按钮
检查按下了哪个按钮,因为
事件。按钮
返回一个数字,指示按下了哪个鼠标按钮

编辑:


这应该是正确的,因为我以前从未使用过它。

您可以使用
event.button
检查按下了哪个按钮,因为
event.button
返回一个数字,指示按下了哪个鼠标按钮

编辑:


这应该是正确的,因为我以前从未使用过它。

右键单击事件不会触发左键单击。它只是激活你的对象。您的图像显示“单击”,但不准确。它应该说“主动”

其次,数字不是有效的ID。因此,请将div从ID=“1”重命名为ID=“1”或类似名称

最后,尝试使用以下代码,而不是您的代码:

document.getElementById("one").addEventListener('contextmenu', function(ev) {
    ev.preventDefault();
    alert('hello from right click');
    return false;
}, false);

请参见

右键单击事件未触发左键单击。它只是激活你的对象。您的图像显示“单击”,但不准确。它应该说“主动”

其次,数字不是有效的ID。因此,请将div从ID=“1”重命名为ID=“1”或类似名称

最后,尝试使用以下代码,而不是您的代码:

document.getElementById("one").addEventListener('contextmenu', function(ev) {
    ev.preventDefault();
    alert('hello from right click');
    return false;
}, false);

请参见

右键单击更改图像的问题与javascript无关,而是与css有关。
:active
CSS伪类在用户激活元素时匹配。根据规范,这应该只在使用主鼠标按钮激活元素时发生,但大多数浏览器似乎没有正确实现规范。见此了解更多信息


解决方法可能是放弃
:active
伪类,并设置一个函数,在左键单击时显式更改内容。

右键单击时更改图像的问题与javascript无关,而与css有关。
:active
CSS伪类在用户激活元素时匹配。根据规范,这应该只在使用主鼠标按钮激活元素时发生,但大多数浏览器似乎没有正确实现规范。见此了解更多信息


一种可能放弃
:active
伪类的解决方法,并设置一个函数,在左键单击时显式更改内容。

可能重复@Error404。它不是重复,因为其他问题没有此特定问题的答案,甚至没有可接受的答案。但它有解决方案,可以根据您的问题中的需要处理右键单击事件。当然,永远不会有两个问题是相等的(或者至少很奇怪,两个一般问题是相等的,可能是相关的)。如果你可以处理右键点击,那么你也可以避免它。可能重复的@Error404它不是重复的,因为其他问题没有这个特定问题的答案,它甚至没有一个可接受的答案。但是它有解决方案来处理右键点击事件,因为你想在你的问题。当然,永远不会有两个问题是相等的(或者至少很奇怪,两个一般问题是相等的,可能是相关的)。如果你可以处理右键点击,那么你也可以避免它。这不是问题,如果我删除它,它仍然不起作用。问题是在单击时更改图像的事件不是针对左键单击,而是针对任何单击。这不是问题,如果我删除它,它仍然不起作用。问题是在单击时更改图像的事件不是针对左键单击,而是针对任何单击。您能用一些代码支持它吗?一个例子或者直接在我的代码上修改。你能用一些代码来支持它吗?一个例子或直接改变我的代码。我会改变图像和id。你提供的代码足以让我工作,谢谢!我将更改图像和id。您提供的代码足以让我工作,谢谢!右键单击时是否可以暂时放弃/删除
:active
,或右键单击时将图像更改为rigth one?右键单击时是否可以暂时放弃/删除
:active
,或右键单击时将图像更改为rigth one?