Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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 在z-index=-1时获取画布元素中的鼠标位置_Javascript_Css_Canvas_Z Index_Processing.js - Fatal编程技术网

Javascript 在z-index=-1时获取画布元素中的鼠标位置

Javascript 在z-index=-1时获取画布元素中的鼠标位置,javascript,css,canvas,z-index,processing.js,Javascript,Css,Canvas,Z Index,Processing.js,这似乎是一个简单的问题。我有一个画布应用程序,我正在使用Processing.js编写,我希望它出现在网页的背景中。为了实现这一点,我有以下css: #canvas-back { position: absolute; top: 0; left: 0; z-index: -1; } 其中canvas back是包含实际画布的div的id。画布本身设置为具有html主体元素的宽度和高度。这对我来说是正确的渲染(背景中的画布,在我的html内容下),但我无法再捕获变

这似乎是一个简单的问题。我有一个画布应用程序,我正在使用Processing.js编写,我希望它出现在网页的背景中。为了实现这一点,我有以下css:

#canvas-back {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
其中canvas back是包含实际画布的div的id。画布本身设置为具有html主体元素的宽度和高度。这对我来说是正确的渲染(背景中的画布,在我的html内容下),但我无法再捕获变量mouseX和mouseY(processing.js用来获取鼠标坐标的内容)


我如何解决这个问题?这是一个不同css的问题,还是有其他方法可以在processing.js中获取鼠标坐标?谢谢。

好吧,因为您将z-index更改为-1,并且您的身体具有z-index auto,在本例中可以将其视为0,所以您将无法在画布上注册任何单击,因为它位于身体下方。你的身体得到所有的点击等等。在这种情况下,您必须在主体本身上注册鼠标事件


如果你必须在画布上点击,我唯一能建议的就是将其设为z-index=1,并使其完全透明。但在这种情况下,您将无法单击正文中的任何元素,如按钮、链接和文本框。否则,您必须捕获正文上的事件,并手动将坐标提交到您正在使用的库中。

我想我会发布我的解决方案,以防有人遇到同样的问题。因为我使用jquery,所以我继续将新变量jmouseX和jmouseY设置到鼠标位置

jQuery(document).ready(function(){
    $(document).mousemove(function(e){
        jmouseX = e.pageX;
        jmouseY = e.pageY;
    }); 
})
然后,每当我在processingjs应用程序中需要mouseX或mouseY时,我就使用jmouseX和jmouseY