2011-07-13 77 views
0

有沒有辦法將焦點設置到jQuery對話窗口內的輸入文本框?我在這裏查看了一些其他問題,但無法找到答案。如何將焦點設置到jQuery對話窗口中的文本框?

我已經試過..

, open: function() { $(this).find("#inp").focus(); } 

,但沒有奏效。

任何想法?謝謝。

UPDATE

對話框窗口的內容獲取直通Ajax調用。

+0

首先測試您的「打開」功能是否執行 – Rafay

+0

是在FF,IE,Crome中選中的。它確實.. – Kay

+0

你會請發佈更多的腳本,包括加載功能......這將更容易回答 – Vivek

回答

1

嘗試

$("#inp").focus(); 

但是,如果要加載與AJAX的對話內容,那麼你應該把重點回調函數

$('#result').load('ajax/test.html', function() { 
    $("#inp").focus(); 
}); 
+0

是它的ajax ..任何示例代碼把焦點放在回調? – Kay

+0

我正在使用load()函數來加載內容。 – Kay

+0

好的我編輯了我的答案 – Ergec

0

所以,你的開放功能的工作原理,對不對?你有沒有檢查它是否發現#inp?只要做

console.log($('#inp')); 

然後看看在調用focus()的時候元素是否真的存在。如果不是,那麼也許DOM沒有完成構建(我假設,你的open()函數是從Ajax調用的回調中調用的,對吧?)。

調用完成後會調用'成功'和'錯誤'Ajax回調函數,但不一定在完成所有DOM操作後。一(略哈克)方法,我在解決了這個是通過延遲聚焦在幾毫秒內:

setTimeout(function() { 
    $(this).find("#inp").focus(); 
}, 50); 

這給DOM一點時間把#inp到位。

相關問題