Web 開発ではダブルクリック イベントはほとんど使用されないと常々思っていましたが、最近まで、プロジェクトではクリックとダブルクリックの 2 つのイベントをボタンにバインドする必要がありました。最初はボタンに 2 つのイベントを結びつけるだけだと思っていましたが、ダブルクリック イベントがトリガーされると、クリック イベントもトリガーされるという単純すぎる考えに後で気づきました。
いくつかの調査の後、JS の「setTimeout」遅延実行メソッドを使用してクリックの実行を 300 ミリ秒遅らせることで、最終的に問題を解決しました。コードは次のとおりです。
次のようにコードをコピーします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http ://www.w3.org/1999/xhtml"><頭>
<タイトル></タイトル>
<mce:script src="jquery-1.6.min.js" mce_src="jquery-1.6.min.js" type="text/javascript"></mce:script>
<mce:script type="text/javascript">
<!--
$(関数() {
varnum = 0;
var timeFunName = null;
$("ボタン").bind("クリック", function () {
// 最後の遅延中に実行されなかったメソッドをキャンセルします
clearTimeout(timeFunName);
// クリックの実行まで 300 ミリ秒遅延します
timeFunName = setTimeout(function () {
数値++;
$("textarea").val($("textarea").val() + "th" + num + "th イベント、イベント名: click/n");
}, 300); }).bind("dblclick", function () {
// 最後の遅延中に実行されなかったメソッドをキャンセルします
clearTimeout(timeFunName);
数値++;
$("textarea").val($("textarea").val() + "th" + num + "th イベント、イベント名: ダブルクリック/n");
});
});
// --></mce:script>
</head>
<本文>
<textarea rows="20"cols="50"></textarea><button type="button">送信</button></body></html>