问题描述
|
我有一个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
副作用:元素也会在单击鼠标时做出反应。它们将正常运行。因此,根据您的需要,这可能是好的副作用,也可能是不好的副作用。