javascript - 第一次点击,结果不符合我的预期

标签 javascript jquery

结果不符合我的预期

    var clicks = 0;
    $("*").click(function(event){
        if(clicks == 0){  // first click
            a=parseFloat(event.pageY-pageYOffset);
            ++clicks;
        }else{ // second clik
            b=parseFloat(event.pageY-pageYOffset);
            $("#lable7").text(b-a);  //heppen in first click, why?
            clicks=0;                          
        }
    } );

我想计算第一次和第二次点击之间的距离,并在页面上执行多次。

我尝试了一些技巧,但是

$('*').one('click',function(){

}).click(function(){

   alert("heppen in first click"); 
});

我做错了什么?

最佳答案

该事件正在冒泡,因此正在为页面上的所有嵌套元素执行处理程序。您需要禁用传播。

var clicks = 0;
var pageYOffset = 500;
$("*").click(function(event) {
  if (clicks == 0) { // first click
    a = parseFloat(event.pageY - pageYOffset);
    ++clicks;
  } else { // second clik
    b = parseFloat(event.pageY - pageYOffset);
    $("#lable7").text(b - a); //heppen in first click, why?
    clicks = 0;
  }
  event.stopPropagation();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Text
  <div>More text</div>
</div>
<div id="lable7"></div>

关于javascript - 第一次点击,结果不符合我的预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161178/

相关文章:

javascript - jQuery offset() 在某些浏览器和某些计算机上不起作用

javascript - 在 jQuery 中,当用户尝试更改选项卡或更改窗口时显示警报

javascript - 是否有 ESlint 兼容的方法将 php 变量获取到 javascript 中?

javascript - AngularJS $uibModal 不工作

javascript - 如何通过浏览器中立方法检查 Web 应用程序 list 是否存在?

javascript - 我可以使用 jQuery 删除内联事件处理程序吗?

jquery - 使用 jQuery 应用时添加了 Css 类但不呈现

javascript - 如何检查是否加载了 Twitter Bootstrap ?

javascript - 如何在输入文本的正下方添加 div?

javascript - 尝试从我放入纬度和经度数据的 URL 获取 JSON 时,脚本不起作用