カーソルを指ポインターに変更


234

私はこれを持っaていますが、カーソルが通常のリンクのように指のポインタに変わるように「onmouseover」に挿入する必要があることを知りません:

<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover=""> A </a>

私はどこかに置く必要があることを読みました:

onmouseover="cursor: hand (a pointing hand)"

しかし、それは私のために働いていません。

さらに、これがJavaScript、CSS、または単なるHTMLと見なされるかどうかはわかりません。


それはcssであり、onmouseoverイベントはJavaScriptイベントです。
スコット

onmouseover = ""に直接cssを配置することはありません。また、リンクにカーソルを合わせているときのcursor:handがデフォルトのアクションになります。これが発生しない場合は、別の問題が発生している可能性があります。
2012年



3
笑「手・・・指差し!」申し訳ありませんが、私は抵抗することができませんでした。
Christine

回答:


458
<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover="" style="cursor: pointer;"> A </a>

それはCSSです。

またはスタイルシートで:

a.menu_links { cursor: pointer; }

2
これをテストした後、onmouseover = "" AND style = cursor:pointer; "の両方が必要であると思われます。スタイルタグだけを使用している場合、ポインターポインターカーソルは非表示になるか、ワンクリックで標準のポインターに戻ります。良い投稿スコット、ありがとう
Nubtacular 2015年

1
@DnfD onmouseover href定義がない場合にのみ必要です。、標準のアンカーのように、存在している場合であるhref定義は、onmouseover必要ありません。
スコット

@DnfD受け入れられた答えは本当にひどいものです。それは仕事をしますが、明確ではありません。削除してmouseover=""そのstyle="cursor: pointer;"ままにしclass="menu_links" ておいてください!あるかどうかに関わらhrefず。
ジャレットロイド

ノー@Scott、あなたはしていない必要mouseoverがあるでイベントを。DnfDへの私の以前のコメントを参照してください
ジャレットロイド

@JarettLloydは、ブラウザのサポートとCSSの構築に大きく依存します。これは2012年の回答です。物事は6年以上で変化しました。
スコット

52

CSSでこれを行うことができます:

a.menu_links {
    cursor: pointer;
}

これは実際にはリンクのデフォルトの動作です。CSSの他の場所でなんらかの方法でオーバーライドしたか、またはhref、そこに属性がない(例にはあります。


私はページを離れたくないhref cozを持っていません。JS関数をトリガーするリンクで、href = "#"を挿入すると、それが
めちゃくちゃになり

2
@DvirLevy-したがって、falseを返してを使用するかhref="#"、先に示したCSSを使用します...
Joseph Silber

22

ページにリンクが1つしかない場合、これを使用するのが好きです。

onMouseOver="this.style.cursor='pointer'"


7

これでさらに一歩進んだら、ここに何かクールなものがあります。URLでは、リンクを使用するか、画像pngを保存してパスを使用できます。例えば:

url( 'assets / imgs / theGoods.png');

以下はコードです:

.cursor{
  cursor:url(http://www.icon100.com/up/3772/128/425-hand-pointer.png), auto;
}

したがって、これは128 X 128のサイズでのみ機能し、それより大きくても画像は読み込まれません。しかし、あなたはあなたが望むどんな画像でも実際に使うことができます!これは、純粋なcss3および一部のhtmlと見なされます。あなたがhtmlでやらなければならないすべては

<div class='cursor'></div>

そのdivでのみ、そのカーソルが表示されます。そのため、通常はbodyタグに追加します。


6

上記の「ベストアンサー」は、プログラム的には正確ですが、提起された質問に実際に回答するものではないと思います。質問では、マウスオーバーイベントでポインターを変更する方法を尋ねます。どこかでエラーが発生する可能性があることについての質問に回答していない投稿が表示されます。受け入れられた回答では、マウスオーバーイベントは空白(onmouseover="")であり、代わりにスタイルオプションが含まれています。なぜこれが行われたのか困惑した。

照会者のリンクに問題はないかもしれません。次のhtmlを検討してください。

<a id=test_link onclick="alert('kinda neat);">Click ME!</a>

ユーザーがこのリンクの上にマウスを置くと、ポインターは手の形に変わりません...代わりに、ポインターは通常のテキストの上に置かれたように動作します。これを望まない人もいるでしょう...したがって、マウスポインタを変更するように指示する必要があります。

求められている答えはこれです(他の人が投稿したものです):

<a id=test_link onclick="alert('Nice!');"
       onmouseover="this.style.cursor='pointer';">Click ME!</a>

しかし、これは...これらがたくさんある場合、またはこの種のものをあちこちに使用していて、何らかの変更を加えるか、バグに遭遇する場合、悪夢です。そのためのCSSクラスを作成することをお勧めします。

a.lendhand {
  cursor: pointer;
}

次に:

<a class=lendhand onclick="alert('hand is lent!');">Click ME!</a>

おそらく、この方法よりも優れている方法は他にもたくさんあります。 DIVBUTTONIMG、などの方が便利な場合があります。を使用しても害はありません<a>...</a>

ジャレット。


4

href属性を有効なリンク&return false;イベントハンドラーに追加して、ナビゲーションが発生しないようにします。

<a href="#" class="menu_links" onclick="displayData(11,1,0,'A'); return false;" onmouseover=""> A </a>

(またはdisplayData()false を返し、..="return displayData(..


3

回答に記載されている純粋なCSSによる解決策は、この状況には適していません。

このトピックの例には通常の静的href属性がありません。これはJSのみを呼び出すため、JSがなければ何も実行されません。

したがって、JSでのみポインターをオンにするとよいでしょう。だから、解決策

onMouseOver="this.style.cursor='pointer'"

上記のように(しかし、私はそこでコメントすることはできません)、この場合に最適なものです。(しかし、はい、一般的には、JSを要求しない通常のリンクの場合、JSなしで純粋なCSSを使用することをお勧めします。)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.