我有一个HTML链接,我希望在用户选中它时采取一些操作 - 但前提是用户通过文档向前跳转而不是向后。
是否有一种可靠的跨浏览器方式来检测用户在文档中选择哪种方式,或者实际上他们是否正在浏览文档?我绑定到blur
事件,但这并不一定意味着用户正在进行标记。
我已经看过检查源中前一个可聚焦元素的document.activeElement
或hasFocus
属性的值,但是:
blur
事件发生时它们是否可以被检查,因为即使用户是标签,我也不认为下一个元素会被关注。答案 0 :(得分:7)
您必须在链接上处理keydown
事件。
$("your link selector").keydown(function(evt){
if (evt.which === 9)
{
if(evt.shiftKey === true)
{
// user is tabbing backward
}
else
{
// User is tabbing forward
}
}
});
选中此JSFiddle example检测特定链接上的向前和向后标签。
Sidenote :虽然我在答案中提供了jQuery代码,但您没有在问题上指定jQuery标记。既然你持有Javascript以及jQuery徽章,我想你将我的代码转换为纯Javascript将是微不足道的。
答案 1 :(得分:1)