我們在文檔中有很多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