2013-07-15 49 views
0

注:這工作完全正常的火狐,Chrome,唯一的問題是使用移動瀏覽器(iPhone/Android的)當jQuery的搜索過濾箱點擊,頭消失

我創建了一個模擬地址簿中的網頁(電話本)使用jQuery/jQuery手機,我有一個列表中的所有聯繫人,並有一個搜索過濾器欄來搜索聯繫人。

<ul id="Addressbook" data-role="listview" data-filter="true" data-filter-placeholder="Type name here for filter search" data-filter-theme="f" data-inset="true"> 

另外,在加載頁面我已經宣佈

$("[data-role=footer]").fixedtoolbar({ tapToggle: false }); 
$("[data-role=header]").fixedtoolbar({ tapToggle: false }); 

除了與我的搜索過濾器欄上單擊,在CSS會搞砸(搜索過濾器欄將移動到70但是,在完全鍵入過濾器並在手機上按下「完成」之後,屏幕的高度和所有其他與定位(z-index)鏈接的css將會傾斜(絕對/固定定位也不會起作用) 但是, CSS刷新到原始狀態,我想知道是否有可能防止默認行爲,我嘗試使用preventdefault ,但它沒有幫助。

任何幫助,將不勝感激。

回答

0

您可以調查jquery源代碼中固定標題的具體情況,特別是針對您的第10116行jquery移動源代碼(未縮小)。 首先,listview將在其上面有input元素,所以如果在點擊它時發生了這個問題,這意味着固定標題和focusin事件有問題,所以讓我們找到固定標題定義的位置,然後下去,直到我們達到我們所需要的。

如果屏幕小於一定尺寸,例如該行

.bind("focusin focusout", function(e) { 
     if (screen.width < 1025 && $(e.target).is(o.hideDuringFocus) && !$(e.target).closest(".ui-header-fixed, .ui-footer-fixed").length) {} 

將觸發固定頭是隱藏

固定頭仍然會隱藏起來,這樣你就可以進入到這條線,只是將其禁用之後的括號之前,如果聲明添加

.bind("focusin focusout", function(e) { 
    return false; 
    //you can keep rest of the code 

這將保持標題,並希望解決您的問題。

+0

謝謝:)它現在保持標題,但CSS仍然是傾斜(即)z-index,有沒有辦法解決它? – invisible520

+0

沒關係,它仍然是JQuery Mobile尚未解決的一個懸而未決的問題,您的解決方案確實解決了問題,但是CSS的移動在一個月前還沒有解決。 – invisible520

+0

你可以給這個問題的鏈接,我認爲它是在jQuery的移動github?我想看:) – abdu