防止元素失去焦点
我们在文档中有很多input
。
我们想要打开一个生成文本的对话框,并将其放入当前关注的输入中。
问题是,当我单击一个按钮或其他任何东西打开输入失去焦点的对话框时。 我无法确定哪个输入必须获取生成的文本。
$("#button").click(function(){ // something should goes here to prevent stealing inputs focus });
是否有任何解决方案可以防止通过该特殊按钮窃取焦点?
您无法使用表单button
,只需使用使其行为像按钮一样?
更新:
你可以用类似的东西
$('span').hover(function(){ focused_element = $("*:focus").get(0); }); $('span').click(function(){ focused_element.focus(); });
看看我的小提琴
您的字段是否具有唯一ID? 如果是,则在单击对话框的保存/关闭按钮时使用该ID将焦点设置回字段。
一旦完成,不要担心重点被盗。
我的解决方案是处理每个焦点并将其保存在focusEle
:
$(function () { var focusEle; $('*').focus(function () { focusEle = this; }); $('button').click(function (e) { console.log(focusEle); var c = confirm('Love the cat :3?'); $(focusEle).focus(); }); });
使用HTML作为:
示例正在运行: http : //jsfiddle.net/76uv7/
取决于@ggzone的想法