2017-08-29 8 views
0

cssカーソルスタイルの設定をしていない標準のhtml要素の上にマウスを置く方法はありますか?たとえば、マウスのアイコンは、標準のHTMLボタンの上にあるときは矢印から手に、標準のテキスト入力のときは矢印からテキストの入力アイコンに変わります。標準のhtml要素にマウス/カーソルアイコンを表示する方法はありますか?

このコードは、要素にstyle.cursor設定がある場合にのみ機能します。

document.addEventListener("mousemove", function(event) { 
    //console.log("mouse is down") 
    var x = event.clientX, y = event.clientY, 
    elementMouseIsOver = document.elementFromPoint(x, y); 
    console.log("element="+elementMouseIsOver+" cursor="+elementMouseIsOver.style.cursor) 
    }) 

標準のhtml項目のマウスアイコンを取得する別の方法はありますか?

+0

あなたは ')(' getComputedStyleを試みたことがありますか? (あなたのmousemoveイベントリスナーから呼び出されるので、カーソルは実際にあなたが当時考えていた形状になります。) – nnnnnn

+0

実際には素晴らしいです!本当にありがとう。 – techdog

答えて

0

トリックは、このようなことがあります。

var currentCursor = undefined; 
$('*').mouseenter(function(){ 
    currentCursor = $(this).css('cursor') ; 
}); 

OR JQueryを使用することなく、次のようになります。

var currentCursor = undefined; 
addEventListener('mouseenter', function(e) { 
    if (e.target instanceof HTMLAnchorElement) { 
     currentCursor = e.target.style.cursor; 
    } 
}); 
+0

* "フレームワーク/ライブラリ用の別のタグも含まれていない限り、純粋なJavaScript応答が期待されます。" * - あなたがカーソルを置いたときに表示される[info](https://stackoverflow.com/tags/javascript/info) 「javascript」タグの上にマウスを置きます。 (ただし、ライブラリに依存するソリューションを推奨する必要があると感じる場合は、少なくとも* which *ライブラリに言及してください)。 – nnnnnn

関連する問題