我有一个元素点击事件,点击一次点击两次,这是一个常见的搜索问题,但我排除了其他答案的潜在原因。该代码是jQuery点击触发两次,但只注册一次
console.log("registering label click");
$("label.tiletype").click(
function(event) {
event.stopPropagation(); // stop the .tile click being called
console.log("label clicked, x = " + event.pageX + ", y = " + event.pageY);
// more code...
}
}
当页面加载和“label.tiletype”点击,日志
registering label click
label clicked, x = 679, y = 172
label clicked, x = 679, y = 172
由于“注册标签上单击”只会发生一次,它不能是由于任何原因点击被绑定两次。
由于pageX和pageY坐标是相同的,双重事件发生在相同的物理点击,而不是在元素上调用的第二个程序化点击()(我认为,如果错误的话纠正我)。
调试行只在这个特定位的代码中,所以没有其他点击事件触发。
我已经检查了Firebug中的源代码,并且有多个“label.tiletype”元素但屏幕上没有重叠,它们都是display:block和float:left。
JavaScript文件中还有其他的东西发生(行375 https://github.com/okohll/agileBase/blob/200dd1c6c1a8968bc9d8f5b2b3d9188ac4776984/gtpb_clientside/resources/simple/simple.js),但无论发生什么,上述语句必须始终在逻辑上是真实的。
这在Firefox和Safari中都会发生。
我错过了什么?
的jsfiddle:http://jsfiddle.net/okohll/cKgAp/
你能得到[小提琴](http://jsfiddle.net)请? – yckart
http:// jsfiddle。净/ okohll/cKgAp/ –