使用JavaScript,如何判断用户是否向后切换?

| 我有一个HTML链接,当用户远离它时,我想采取一些措施-但仅当用户向前浏览文档而不是向后浏览时才行。 是否有可靠的跨浏览器方法来检测用户在文档中浏览的方式,或者实际上是在根本上浏览用户的方式?我绑定到
blur
事件,但这并不一定意味着用户在跳动。 我看过检查source1ѭ的值或源中先前可聚焦元素的
hasFocus
属性的值,但是: 这些似乎是相对较新的内容,因此可能不会得到广泛支持,并且 我不确定在触发“ 0”事件时是否可以检查它们,因为即使用户在进行制表,我也不认为下一个元素将被关注。     
已邀请:
您将不得不处理链接本身上的“ 4”事件。
$(\"your link selector\").keydown(function(evt){
    if (evt.which === 9)
    {
        if(evt.shiftKey === true)
        {
            // user is tabbing backward
        }
        else
        {
            // User is tabbing forward
        }
    }
});
检查此JSFiddle示例,该示例检测特定链接上的向前和向后制表符。   旁注:尽管我在回答中提供了jQuery代码,但您并未在问题上指定jQuery标记。由于您同时拥有Javascript和jQuery徽章,因此我想将我的代码转换为纯Javascript将变得很简单。     
作为Robert好的解决方案的替代方案,也许您可​​以利用tabindex属性?将其设置为您的html链接和其他“可粘贴”项目。然后在javascript中检查它。 tabindex解决方案:jsfiddle   副作用:元素也会在单击鼠标时做出反应。它们将正常运行。因此,根据您的需要,这可能是好的副作用,也可能是不好的副作用。     

要回复问题请先登录注册