1 回のクリックで 2 回発生する要素クリック イベントがあります。これは検索でよくある問題ですが、他の回答から考えられる原因の可能性を除外しました。コードは
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
「ラベル クリックの登録」は 1 回しか発生しないため、何らかの理由でクリックが 2 回バインドされることはありません。
pageX と pageY の座標は同じであるため、2 回目のプログラムによる click() が要素に対して呼び出されるのではなく、同じ物理クリックから double イベントが発生します (間違っている場合は修正してください)。
デバッグ行はこの特定のコードにのみ含まれているため、他のクリック イベントは発生しません。
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/