7

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

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

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

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

更新

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

4

3 回答 3

3

你可以试试这个:

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

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

于 2013-01-27T12:45:22.710 回答
2

是的,有活动onmouseenter

$('*').mouseenter(function(){
    var currentCursor = $(this).css('cursor') ;
    console.log( currentCursor );
});
于 2013-01-26T17:06:41.760 回答
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
    }
});
于 2013-01-26T17:10:44.190 回答