jquery - 关于锚标记的点击,如何避免失去焦点?

  显示原文与译文双语对照的内容
0 0

我有输入类型文本元素和锚元素,如果焦点已经经在输入文本元素上,则不要放松焦点。 我尝试过,但它不起作用。

html :

<input type = 'text' value='click here first'/>
<a href='javascript:void(null);' id='nothing'>do nothing</a>

jQuery代码:

$('#nothing').bind('click', function(e){
 e.preventDefault();
})

above 不适合我。 谁能告诉我这里丢失了什么?

时间:原作者:4个回答

0 0

我遇到类似的问题尝试使用'mousedown'而不是单击事件。

下面是演示工具。

<input type = 'text' value='click here first'/>
<a href='javascript:void(null);' id='nothing'>clicking this does not loose the focus from input field!</a>
$('#nothing').bind('mousedown', function(e){
 e.preventDefault();
})
原作者:
0 0

点击它的他时,锚将始终松散焦点,方法是重置焦点到输入:

var active = null;
$('#nothing').on({
 mousedown: function() {
 active = document.activeElement;
 },
 mouseup: function() {
 if (active) active.focus();
 },
 click: function(e) {
 e.preventDefault();
 }
});

FIDDLE

原作者:
...