ユーザーがリンクを押した場合 (クリックではなく)、イベント (たとえば、アラートの表示) を呼び出す必要があります。別のページにリダイレクトさせたくありません。つまり、ユーザーがリンクをクリックすると、すべてが通常どおりになりますが、ユーザーがリンクを押すと、イベントが発生し (アラートが表示され)、ユーザーはマイページにとどまります。これは可能ですか?
プレスとは、ユーザーがリンクを少なくとも 1 秒間押すことを意味します。
ありがとう。
ユーザーがリンクを押した場合 (クリックではなく)、イベント (たとえば、アラートの表示) を呼び出す必要があります。別のページにリダイレクトさせたくありません。つまり、ユーザーがリンクをクリックすると、すべてが通常どおりになりますが、ユーザーがリンクを押すと、イベントが発生し (アラートが表示され)、ユーザーはマイページにとどまります。これは可能ですか?
プレスとは、ユーザーがリンクを少なくとも 1 秒間押すことを意味します。
ありがとう。
私が理解したのは、あなたが欲しいということです:
ユーザーがリンクを押した -> アクションを実行するが、ブラウザーをリダイレクトしない ユーザーがリンクをクリックする (ボタンを押したオブジェクトの上にマウスを移動する) -> 別のページにリダイレクトする
次のコードが役立つ場合があります
<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>
プレスを定義します。
意味に応じて、mousedown
またはイベントのいずれかを使用することをお勧めします。keypress
(後者の場合は、おそらくイベントをチェックして、使用されたエンター キーであることを確認する必要があります)
質問を絞り込んだ後、このコードはあなたが探していることを行います:
<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 false
href が実行されない原因は、これにより、ユーザーがリンク上で 1 秒 (1000 ミリ秒) 以上マウスを押したままにすると、アラートが発生します。