Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 - Fatal编程技术网

点击图像JavaScript检测每次实际点击的多次点击

点击图像JavaScript检测每次实际点击的多次点击,javascript,jquery,Javascript,Jquery,我使用下面的Javascript打印用户单击的位置的坐标: $(document).bind('click', function () { $('#clickimage').bind('click', function (ev) { var $img = $(ev.target); var offset = $im

我使用下面的Javascript打印用户单击的位置的坐标:

$(document).bind('click', function () {
                            $('#clickimage').bind('click', function (ev) {
                                var $img = $(ev.target);
                                var offset = $img.offset();
                                var x = ev.clientX - offset.left;
                                var y = ev.clientY - offset.top;
                                var div = document.getElementById('clicklocations');
                                div.innerHTML = div.innerHTML + 'clicked at x: ' + x + ', y: ' + y + '<br>';
                            });
                        });

或者将其放在document.ready函数中

每当您看到事件侦听器生成的重复输出时,您首先应该怀疑的是您多次将侦听器绑定到同一事件。在你的情况下,你就是这样做的

每次单击文档时,您的clickimage会附加一个侦听器


因此,重复性随着每次单击而增加

这不是绑定单击事件的方法。从文档单击处理程序中删除图像单击处理程序。为什么需要文档点击处理程序?你的意思是document.ready吗?请,你能发布相关的HTML吗?而不是var$img=$ev.target;使用var$img=$this;
clicked at x: 225.5, y: 149
clicked at x: 151.5, y: 117
clicked at x: 151.5, y: 117
clicked at x: 321.5, y: 175
clicked at x: 321.5, y: 175
clicked at x: 321.5, y: 175
clicked at x: 241.5, y: 251
clicked at x: 241.5, y: 251
clicked at x: 241.5, y: 251
clicked at x: 241.5, y: 251
$(document).bind('click', function () {
                            $('#clickimage').bind('click', function (ev) {
                                var $img = $(ev.target);
                                var offset = $img.offset();
                                var x = ev.clientX - offset.left;
                                var y = ev.clientY - offset.top;
                                var div = document.getElementById('clicklocations');
                                div.innerHTML = div.innerHTML + 'clicked at x: ' + x + ', y: ' + y + '<br>';
                            });
                        });
$('#clickimage').bind('click', function (ev) {
                                var $img = $(ev.target);
                                var offset = $img.offset();
                                var x = ev.clientX - offset.left;
                                var y = ev.clientY - offset.top;
                                var div = document.getElementById('clicklocations');
                                div.innerHTML = div.innerHTML + 'clicked at x: ' + x + ', y: ' + y + '<br>';
                            });