有沒有什麼方法可以使用AngularJS/Angular-UI在輸入控件中設置焦點?AngularJS/UI - 對話框中的焦點輸入
我看到Angular-UI有一些Jq-UI = focus指令,但是我無法讓它工作。
我有我顯示採用了棱角分明的UI $對話服務,真的想每個對話框上的第一個輸入來獲得關注,一旦它的顯示
有沒有什麼方法可以使用AngularJS/Angular-UI在輸入控件中設置焦點?AngularJS/UI - 對話框中的焦點輸入
我看到Angular-UI有一些Jq-UI = focus指令,但是我無法讓它工作。
我有我顯示採用了棱角分明的UI $對話服務,真的想每個對話框上的第一個輸入來獲得關注,一旦它的顯示
的AngularJS
最後一個版本提供ng-focus
幾個對話框:http://docs.angularjs.org/api/ng/directive/ngFocus
你是對的,我已經展示瞭如何在DOM元素上調用jQuery本地jQuery.fn.focus()
方法的演示,因爲這些都是ui-jq
真的。訣竅是讓它在適當的時間多次觸發。
ui-jq
已在$timeout
中爲您執行該方法,但默認情況下,只有在創建DOM元素時纔會觸發一次。爲了使ui-jq
多次點火,只需添加ui-refresh="someExpression"
並使用一個表達式即可知道知道將在每次打開模式時改變。如果在模式關閉的情況下它也會反彈,.focus()
如果DOM元素不可見,則不會執行任何操作。
因此,對於ui-bootstrap模式,只需在modal="someExpression"
內部使用相同的表達式即可設置。
結果證明,所有你需要的是這個,如果你用角UI $對話框服務一起使用它:
app.directive('focusMe', function ($timeout) {
return {
link: function (scope, element, attrs, model) {
$timeout(function() {
element[0].focus();
});
}
};
});
HTML:
<input type="text" focus-me >
如說,這是Angular-僅限UI $對話服務。
看到它住在這裏:http://strengthtracker.apphb.com(點擊登錄或註冊,彈出對話框)
如何設置焦點頁腳按鈕..我真的不能這樣做..我需要關閉$ dialog.messageBox如果輸入鍵被按下 – TalentTuner
添加一個
此鏈接似乎已經死了。 – Katerberg
我曾經在我的模板標準autofocus
屬性,並宣佈一個簡單的指令,使之成爲被後創建的元素工作頁面加載(就像你的情況下的對話框)。
app.directive('autofocus', function() {
return {
restrict: 'A',
link: function (scope, element) {
element[0].focus();
}
};
});
一個美麗的解決方案,我會適應這個在我的代碼! – Mirage
同意。很好的簡單解決方案,效果很好我只是將它添加到ngDialog彈出窗口中,並且它完美地工作。謝謝! – user2233949
諾布在這裏,道歉:什麼'限制:'A''嗎? –
你能提供一個jsfiddle嗎? – pasine
您缺少ui-refresh – ProLoser