Javascript 如何通过x和y方向提交单击?
我有一支遥控笔作为光标(硬件) 外部硬件通过SDK向Javascript发送光标。 在这里,我得到x,x,y,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
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();
}
});
}