我有一個彈出式對話框,其中有按鈕和輸入字段,可以通過製表符導航。 焦點到達最後一個元素後,我想將焦點返回到對話框的第一個元素。我不想讓焦點離開對話框。 我知道它可以使用jQuery UI來處理,但我已經創建了很多彈出窗口,並且我想要一個沒有jQuery UI對話框的解決方案。使用Tab鍵在對話框元素內循環使用Tab鍵不工作在Safari和Chrome
我已經實現了一個使用jquery的通用解決方案。我在對話框的末尾添加一個沒有任何可見文本的元素,當焦點到達此元素時,我將焦點返回到第一個元素。
<input id="firstElement" type="text"/>
<input type="button" value="Submit"/>
<a id="lastHiddenElement" href="#"/>
$(document).ready(function() {
$('#lastHiddenElement').focus(function(){
$('#firstElement').focus();
});
});
但這隻能在Firefox和IE瀏覽器和Safari和Chrome不起作用。這似乎是一個bug(可用性)WebKit中
https://code.google.com/p/chromium/issues/detail?id=168121
如果我添加它WebKit中工作太明顯的文字定位標記。
jsfiddle.net/WVDz3/9/
但我想沒有表現出任何不需要的元素,以用戶瀏覽。
這是否有任何解決方法?
謝謝!這工作太棒了! – user2357825 2013-05-08 05:48:11