检测网页中的鼠标光标类型更改

时间:2013-01-26 17:02:31

标签: javascript html javascript-events

当鼠标光标悬停在不同的页面元素上时,是否有任何事件被触发?

理想情况下是这样的事件:

window.onmousecursorchange = function(e) {
    // e would contain information about the cursor
    // eg. e.type could contain 'text','pointer', etc..
}

注意:解决方案不应涉及jQuery或其他库

更新

“可能重复”的问题用jQuery标记,所有答案(没有一个解决问题)基于jQuery。我正在寻找一个纯JavaScript解决方案。如果主持人认为这还不足以让这个问题保持开放,请随时关闭。

3 个答案:

答案 0 :(得分:2)

是事件onmouseenter

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

答案 1 :(得分:2)

你可以试试这个:

document.addEventListener('mouseover',function(e){
    var cursor = e.target.style.cursor;
    console.log(cursor);
},false);

它使用事件冒泡来提高性能并保存代码。

答案 2 :(得分:1)

$(function(){

    $('*').hover(function(){
        $(this).data('hover',1); //store in that element that the mouse is over it
    },

    function(){
        $(this).data('hover',0); //store in that element that the mouse is no longer over it
    });

    window.isHovering = function (selector) {
        return $(selector).data('hover')?true:false; //check element for hover property
    }
});