0

ユーザーがリンクを押した場合 (クリックではなく)、イベント (たとえば、アラートの表示) を呼び出す必要があります。別のページにリダイレクトさせたくありません。つまり、ユーザーがリンクをクリックすると、すべてが通常どおりになりますが、ユーザーがリンクを押すと、イベントが発生し (アラートが表示され)、ユーザーはマイページにとどまります。これは可能ですか?

プレスとは、ユーザーがリンクを少なくとも 1 秒間押すことを意味します。

ありがとう。

4

4 に答える 4

0

私が理解したのは、あなたが欲しいということです:

ユーザーがリンクを押した -> アクションを実行するが、ブラウザーをリダイレクトしない ユーザーがリンクをクリックする (ボタンを押したオブジェクトの上にマウスを移動する) -> 別のページにリダイレクトする

次のコードが役立つ場合があります

<html>
<head>

    <script type="text/javascript">
function mouse_pressed(){
    alert('pressed button');
}
function goToLink(url){
    window.location = url;
}
</script>
</head>
<body>

<label onclick="goToLink('http://www.google.com');" onmousedown="mouse_pressed();" >text</label>
<body>
</html>
于 2010-01-07T12:44:55.507 に答える
0

プレスを定義します。

意味に応じて、mousedownまたはイベントのいずれかを使用することをお勧めします。keypress(後者の場合は、おそらくイベントをチェックして、使用されたエンター キーであることを確認する必要があります)

于 2010-01-07T12:20:10.943 に答える
0

質問を絞り込んだ後、このコードはあなたが探していることを行います:

<script>
var timeout;
function onMouseDown(){
    timeout = window.setTimeout("alert(1)",1000);
}
function onMouseUp(){
    window.clearTimeout(timeout);
}
</script>

<a href="#" onmousedown="onMouseDown();return false;" onmouseup="onMouseUp();return false;">click</a>

ノート:

  • return falsehref が実行されない原因は、
  • タイムアウトの設定とクリアにより、1 秒未満のプレスではイベントが発生しません。

これにより、ユーザーがリンク上で 1 秒 (1000 ミリ秒) 以上マウスを押したままにすると、アラートが発生します。

于 2010-01-07T15:09:14.390 に答える