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 如何通过x和y方向提交单击?_Javascript_Jquery_Google Chrome_Realsense - Fatal编程技术网

Javascript 如何通过x和y方向提交单击?

Javascript 如何通过x和y方向提交单击?,javascript,jquery,google-chrome,realsense,Javascript,Jquery,Google Chrome,Realsense,我有一支遥控笔作为光标(硬件) 外部硬件通过SDK向Javascript发送光标。 在这里,我得到x,x,y,y位置并单击命令 但是,如何提交点击那个位置? (无论该职位上有什么元素,我都需要提交该职位的点击) if(\u label==rs.cursor.GestureType.cursor\u单击){ //我有:x,x,y,y /* 以下方法有效: 但我有太多的按钮,如何应用动态点击而不跟踪哪个元素? var myButton=document.getElementById(“mediapl

我有一支遥控笔作为光标(硬件)

外部硬件通过SDK向Javascript发送光标。 在这里,我得到x,x,y,y位置并单击命令

但是,如何提交点击那个位置? (无论该职位上有什么元素,我都需要提交该职位的点击)

if(\u label==rs.cursor.GestureType.cursor\u单击){
//我有:x,x,y,y
/*
以下方法有效:
但我有太多的按钮,如何应用动态点击而不跟踪哪个元素?
var myButton=document.getElementById(“mediaplayer”);
var rect=myButton.getBoundingClientRect();
如果(x>=rect.left&&
x=rect.top&&
y=rectleft&&y>=recttop&&

方法1:当触发光标点击事件时,迭代所有可点击按钮,并检查点击与哪个按钮“相关”

$buttons=$('.clickable button');
var-rect;
如果(\u label==rs.cursor.GestureType.cursor\u单击){
$buttons.each(函数(){
rect=$(this.getBoundingClientRect();
如果(x>=rect.left&&
x=rect.top&&

y为什么你必须创建一个按钮?你不能仅仅触发一个提交事件吗?你可以使用jQuery,对吗?可能的重复应该不会有什么不同,只要记住添加它。cickable button类(或者根据你的意愿重命名)你能详细说明一下“不工作”吗?你会遇到哪些错误?你在哪里处理点击事件?
if (_label == rs.cursor.GestureType.CURSOR_CLICK) {
                  // I have: x, x, y, y                   
/*
Following method works:
but i have too many buttons, how to apply dynamic click without tracking which element?

                  var myButton = document.getElementById("mediaplayer");
                  var rect = myButton.getBoundingClientRect();
                  if (x >= rect.left && 
                      x <= rect.right && 
                      y >= rect.top && 
                      y <= rect.bottom){
                    myButton.click();
                  }
*/
}
        //
        // 1 - Find Active DIV/MAP/Container?           
        //
        var layerID = $('#layoutmain').attr('usemap');            
        if (_label == rs.cursor.GestureType.CURSOR_CLICK) {     

          //
          // 2 - Loop each buttons of that container
          //
          $('#' + layerID).find('area').each(function(){                
            var onclick_function = $(this).attr('onclick') ;
            var coords           = $(this).attr('coords');
                coords           = coords.split(' ').join('');
            var coords_array     = coords.split(',');
            console.log('>>> we have: ', 
                        onclick_function , 
                        coords,
                        coords_array);                            
            var rectleft = coords_array[0];
            var recttop = coords_array[1];
            var rectright = coords_array[2];
            var rectbottom = coords_array[3];

            // 
            // 3 - Match the RANGE of buttons with the coordinates 
            //
            if (x >= rectleft  && y >= recttop && 
                x <= rectright && y <= rectbottom){                  
              $(this).trigger('click');
            }
          });                  
        }
$buttons = $('.clickable-button');
var rect;

if (_label == rs.cursor.GestureType.CURSOR_CLICK) {

    $buttons.each(function(){ 

        rect = $(this).getBoundingClientRect();
        if (x >= rect.left && 
            x <= rect.right && 
            y >= rect.top && 
            y <= rect.bottom){
                        $(this).click();
            }
    });
}