我们在文档中有很多input
s。
我们想要打开一个对话框,生成文本并将其放入当前焦点输入。防止元素失去焦点
问题是,当我点击一个按钮或其他任何东西来打开输入失去焦点的对话框。我无法确定哪个输入必须获取生成的文本。
$("#button").click(function(){
// something should goes here to prevent stealing inputs focus
});
有没有什么解决方案来防止偷焦点由特殊的按钮?
我们在文档中有很多input
s。
我们想要打开一个对话框,生成文本并将其放入当前焦点输入。防止元素失去焦点
问题是,当我点击一个按钮或其他任何东西来打开输入失去焦点的对话框。我无法确定哪个输入必须获取生成的文本。
$("#button").click(function(){
// something should goes here to prevent stealing inputs focus
});
有没有什么解决方案来防止偷焦点由特殊的按钮?
你不能使用表格button
而只是使用说一个<span>
使其行为像一个按钮?
UPDATE:
您可以使用类似
$('span').hover(function(){
focused_element = $("*:focus").get(0);
});
$('span').click(function(){
focused_element.focus();
});
您的领域是否有唯一的ID?如果是,则在单击对话框的保存/关闭按钮时,使用该ID将焦点设置回该字段。
不要担心一旦完成重置,重点就会被盗。
没有亲爱的杰森,没有独特的身份证,不能是 – Omid 2012-01-09 11:21:34
我的解决办法是处理每一个重点,并将其保存在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为:
<input type="text">
<button>Press me!</button>
示例工作:http://jsfiddle.net/76uv7/
根据@ggzone想法
这似乎不起作用,因为你的'*'选择器意味着当你点击成为'focusEle'的按钮。 – 2012-01-09 11:38:06
@RoryMcCrossan我甚至猜到了,但检查它的工作示例 – mrzmyr 2012-01-09 11:40:39
我已经检查了小提琴,对于我来说,在FF9中,单击按钮后焦点不会返回到文本输入。 – 2012-01-09 11:46:05
节省焦点,当你点击按钮,加载在对话框的回调或在对话框 – ggzone 2012-01-09 11:16:51
的关闭按钮似乎好主意,我应该测试它 – Omid 2012-01-09 11:18:05
不起作用!在点击按钮之前输入模糊会被触发。 – Omid 2012-01-09 11:31:02