- ベストアンサー
クリックを押した時にリンク先へジャンプする
通常はクリックして、マウスを押してボタンから指を放すときにリンク先にジャンプする と思いますが、 放す時ではなく、押した瞬間にリンク先の別ページに移動させたいと思うのですが、 JavaScript を使うことになるかと思いますが、何か方法がありますでしょうか? onMouseDown を使うのかなっというところまでは、 調べてみたのですが、分かりませんでした。 別の方法でも構いません、何か方法があれば教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
特定条件(クラス名rapid)のリンクなら、押した瞬間に遷移させる例です。 <script> window.addEventListener('mousedown', function(ev){ var a = ev.target; if (a.href && a.classList.contains('rapid')) { ev.preventDefault(); a.click(); } }, false) </script> <a href="http://www.sony.co.jp" class=rapid>押した瞬間に遷移</a> <a href="http://casio.jp">普通の遷移</a> スクリプトが無くても、通常のリンクとして動作するのが特徴です
その他の回答 (2)
- babu_babu_baboo
- ベストアンサー率33% (1/3)
1行が好きなのなら。 /* @cc_on@set@_=@_jscript_version<9;*/document./*@if(@_)attachEvent('on'+@else*/addEventListener(/*@end*/'mousedown',function(b,c){c=b./*@if(@_)srcElement@else*/target/*@end*/;'A'!=c.tagName||!c.href||(location.href=(b./*@if(@_)returnValue=false@else*/preventDefault()/*@end*/,c.href))},!1); 「&」同じページにスクリプトがあるのなら?
お礼
ありがとうございました! す、すみません、私には記載が難しくて・・理解できませんでした。 でも、回答していただいたことにとても感謝しています。 本当にありがとうございました!
- yambejp
- ベストアンサー率51% (3827/7415)
>押した瞬間 瞬間といってもリードタイムがあるので、押し続けないかぎりクリックと ほぼ同じだと思いますが? たとえばこんな感じでクリックをキャンセルすることはできます <script> try{ document.addEventListener ('mousedown',function(e){func(e)},true); document.addEventListener ('click',function(e){func(e)},true); }catch(e){ document.attachEvent('onmousedown',function(e){func(e)}); document.attachEvent('onclick',function(e){func(e)}); } function func(e){ var t = (e.srcElement || e.target); if(t.nodeName=="A"){ if(e.type=="mousedown"){ location.href=t.href; } if(e.preventDefault)e.preventDefault(); else e.returnValue = false; } } </script> <a href="http://www.yahoo.co.jp">yahoo</a>
お礼
出来ました!ありがとうございました!! 回答、感謝いたします!!!
お礼
ありがとうございます!出来ました!! しかも1つのページ内で普通のリンクとの使い分けもできるなんて、最高です!!!ありがとうございました!