http://jsfiddle.net/nicktheandroid/bD37R/2/
如果用户在链接上按下鼠标,我试图摆脱仍然具有焦点的元素,然后将鼠标从链接上移开 - 同时仍然按住鼠标按钮,然后释放鼠标按钮。对我来说,这意味着用户在释放鼠标按钮之前意识到他们不想点击链接 - 所以他们没有在链接上释放鼠标按钮,而是将鼠标从链接上移开,然后释放鼠标按钮。
元素可以是链接,也可以是具有活动和焦点样式的 div/span,它的工作原理相同。
在我的示例中,如果我单击其中一个 div,它会按照我的意愿进行操作,但是当我鼠标移出时,它会将焦点移开,这不应该发生。仅当用户在链接/div 上按下鼠标,然后将鼠标拖离元素并释放鼠标按钮时,才应取消焦点。但是我希望元素在单击元素时保持焦点样式,然后在单击后悬停在元素之外。那是我的问题,如果我单击元素,然后单击后将鼠标从元素上移开,它就会失去焦点。我知道我的 jQuery 不正确,出于某种原因,我很难弄清楚 jQuery 应该是什么样子。
$('div').mousedown(function(){
$(this).mouseleave(function(){
if ($(this).mousedown()) {
$(this).blur()
}
})
})