簡體   English   中英

回發后繼續關注元素

[英]Keep focus on element after postback

我在ASP.NET MVC視圖中有一堆文本框,這些文本框已提交到服務器。 我如何保留當前焦點,以便用戶可以簡單地在任何文本框上按Enter鍵或單擊“提交”按鈕,並且當頁面返回時(全部通過GET進行),焦點就是用戶離開的地方?

謝謝!

您可以簡單地使用JQuery來設置具有焦點的項目的隱藏表單字段。

<script type="text/javascript">
$(document).ready(function() {
    $("input").click(function() {
        $("#Focus").val = $(this).attr('id');
    });
});
</script>

<form action="#">
    <input id="Text1" type="text" />
    <input id="Text2" type="text" />
    <input id="Text3" type="text" />
    <input id="Text4" type="text" />
    <input id="Focus" type="hidden" />
</form>

然后,您需要做的就是將其傳遞回頁面並設置焦點

$("#<%= ViewData["Focus"] %>").focus();

您可能想要記錄具有焦點的元素,將其傳遞給控制器​​,然后讓控制器將其傳遞回去。 然后,一些javascript將重點放在該元素上。

似乎有幾種方法可以找出並記錄哪個元素具有焦點,但沒有一個很棒(請參閱此hack http://trentrichardson.com/2008/05/24/an-attempt-to-find-focus/或此插件http://www.softwareunity.com/jquery/JQueryMoreSelectors/ (大致相同)。

據我所知,沒有更好的方法可以做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM