结果不像我期望的那样
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/