15

ondblclickHTMLタグ内で、jqueryを使用せずに呼び出す簡単なソリューションはありonclickますか?

アラートを表示するだけですが、これは常にウィンドウを閉じます。

<a href="#" ondblclick="alert('dbl')" onclick="window.close();">X</a>

(メインウィンドウを閉じることができないため、javascriptポップアップでのみ機能しますwindow.close();)

4

6 に答える 6

5

以下のコードでこれを解決しました。

<a id="press" href="javascript:void(0)" onclick="singleClick(event)"
    ondblclick="doubleClick(event)">Click here</a>

<div id="log"></div>

私のJavaScriptは、

    var timer;
    var status = 1;

    function singleClick(event) {
        status = 1;
        timer = setTimeout(function() {
            if (status == 1) {
                document.getElementById("log").innerHTML ='I  am single click !';
            }
        }, 500);

    }

    function doubleClick(event) {
        clearTimeout(timer);
        status = 0;
        document.getElementById("log").innerHTML = 'I  am a double  click!';
    }

状況をお知らせください。お役に立てば幸いです。

于 2013-09-10T06:43:50.723 に答える
0

質問に対してあなたがやりたいことではないことはわかっていますが、クリックとダブルを簡単に使用する方法は次のとおりです。

クリックしてオブジェクトを選択する (または変数を保存するなど) 必要がある場合は、javascript を使用して "href" で関数を呼び出すことができます。

その後、「ondblclik ()」を使用して、編集ボタンをクリックせずにレジストリを直接編集できます。

「href」内の関数は常に実行されるため、「alert ()」でテストしないでください。メッセージ ウィンドウが開くため、ダブルクリックは行われません。2回実行され、問題になる可能性のあるアクションを実行しますが、変数を保存または更新することはありません。

function clickMe(c){
  var link = document.getElementById('link');
  link.innerHTML = "Clicked: "+c;
}
<a id="link" href="javascript:clickMe(1);void(0);" ondblclick="clickMe(2);">Click Me</a>

于 2015-02-20T14:17:41.760 に答える
0

あなたのコードから、クリック数に応じて両方が機能するように思われる場合は、クリックの間に短いタイムアウトを導入し、それに応じてそれぞれの機能を実行することをお勧めします。こちらをご覧ください。

于 2013-09-10T06:29:46.390 に答える