2015-10-15 172 views
5

我有一個小任務查看器與面板,您可以創建一個任務,無論如何,我遇到的問題是,當你在移動設備上,並向下滾動面板,它會回到頂部,所以你需要再次向下滾動,以便能夠點擊你想要的輸入,當你填寫完(或不是)輸入,並嘗試點擊後退按鈕來解除鍵盤它會再次回到頂部。爲什麼我的面板在移動設備上滾動? jQueryMobile

我試圖使用.focus但它忽略它。

爲什麼會發生?我該如何解決它?任何幫助真誠讚賞。

點擊加號按鈕,打開面板

PS:我清理代碼重點考慮的問題

我的代碼:

#header { 
 
    background-color: #72a9dc; 
 
    text-shadow: 0 0 3px #000; 
 
    color: white; 
 
} 
 
.code { 
 
    background-color: #b4d0ec; 
 
    text-shadow: 0 0 1px #fff; 
 
    border-radius: 3px; 
 
    width: 30px; 
 
    text-align: center; 
 
    float: left; 
 
} 
 
.label { 
 
    margin-left: 10px; 
 
    text-align: center; 
 
    float: left; 
 
} 
 
.date { 
 
    float: right; 
 
    border-radius: 3px; 
 
    border: 1px solid #000; 
 
    width: 100px; 
 
    height: 20px; 
 
    text-align: center; 
 
    text-shadow: 0 0 0 #fff; 
 
    color: black; 
 
} 
 
.detail { 
 
    font-size: 20px; 
 
    color: #72a9dc; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> 
 
    <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 
 
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" /> 
 
</head> 
 

 
<body> 
 
    <div id="header" data-role="header" style="overflow:hidden;" data-position="fixed" data-tap-toggle="false"> 
 
    <h1>Title</h1> 
 
    <a onclick="onTop();" data-icon="search" data-iconpos="notext">Search</a> 
 
    <a onclick="newTask();" id="newTask" href="#add-form" data-icon="plus" data-iconpos="notext">Add</a> 
 
    </div> 
 

 
    <div role="main" class="ui-content jqm-content jqm-fullwidth"> 
 

 
    <form class="ui-filterable" id="search"> 
 
     <input id="rich-autocomplete-input" data-type="search" placeholder="Search. . ."> 
 
    </form> 
 

 
    <ul id="list" data-role="listview" data-filter="true" data-inset="true" data-input="#rich-autocomplete-input"> 
 
    </ul> 
 

 
    </div> 
 

 
    <div data-role="panel" data-position="right" data-display="reveal" data-theme="a" id="add-form"> 
 
    <form class="userform"> 
 
     <h2 id="myTitle"></h2> 
 
     <label>Code:</label> 
 
     <input type="number" id="code" min="1" value="" data-clear-btn="false" data-mini="true"> 
 
     <label>Label:</label> 
 
     <input type="text" id="label" maxlength="20" value="" data-clear-btn="true" autocomplete="off" data-mini="true"> 
 
     <label>Date:</label> 
 
     <input type="date" id="date" value="" data-clear-btn="true" data-mini="true"> 
 
     <label>Code:</label> 
 
     <input type="number" id="code" min="1" value="" data-clear-btn="false" data-mini="true"> 
 
     <label>Label:</label> 
 
     <input type="text" id="label" maxlength="20" value="" data-clear-btn="true" autocomplete="off" data-mini="true"> 
 
     <label>Date:</label> 
 
     <input type="date" id="date" value="" data-clear-btn="true" data-mini="true"> 
 

 
     <label>Code:</label> 
 
     <input type="number" id="code" min="1" value="" data-clear-btn="false" data-mini="true"> 
 
     <label>Label:</label> 
 
     <input type="text" id="label" maxlength="20" value="" data-clear-btn="true" autocomplete="off" data-mini="true"> 
 
     <label>Date:</label> 
 
     <input type="date" id="date" value="" data-clear-btn="true" data-mini="true"> 
 

 
     <label>Code:</label> 
 
     <input type="number" id="code" min="1" value="" data-clear-btn="false" data-mini="true"> 
 
     <label>Label:</label> 
 
     <input type="text" id="label" maxlength="20" value="" data-clear-btn="true" autocomplete="off" data-mini="true"> 
 
     <label>Date:</label> 
 
     <input type="date" id="date" value="" data-clear-btn="true" data-mini="true"> 
 

 
     <label>Code:</label> 
 
     <input type="number" id="code" min="1" value="" data-clear-btn="false" data-mini="true"> 
 
     <label>Label:</label> 
 
     <input type="text" id="label" maxlength="20" value="" data-clear-btn="true" autocomplete="off" data-mini="true"> 
 
     <label>Date:</label> 
 
     <input type="date" id="date" value="" data-clear-btn="true" data-mini="true"> 
 

 
     <div class="ui-grid-a"> 
 
     <div class="ui-block-a"><a href="#" data-rel="close" class="ui-btn ui-shadow ui-corner-all ui-btn-b ui-mini">Cancel</a> 
 
     </div> 
 
     <div class="ui-block-b"><a href="#" data-rel="close" class="ui-btn ui-shadow ui-corner-all ui-btn-a ui-mini" onclick="addTask();">Save</a> 
 
     </div> 
 
     </div> 
 
    </form> 
 
    </div> 
 
</body> 
 

 
</html>

回答

1

而不是使用href="#",它可以導致頁面實際上轉到上面,因爲#是一個有效的鏈接,您可以(也應該)使用href="javascript:void(null);",它只是一個空的javascript函數,可以確保您的按鈕不會做任何其他操作比它應該做的更多。

希望有所幫助。

+0

謝謝你提供的答案,我會嘗試一下,然後我會回來:) +1 – Kyle

+0

沒問題,它工作? –

+0

哦該死的,是的它的工作,我忘記標記它,我很抱歉,謝謝你提醒我。我使用不同的方法修復了它,但你的回答也起作用 – Kyle

相關問題