我正在編寫一個Rails應用程序,並且我正在爲移動視圖使用jQueryMobile。如何在某些情況下禁用jQueryMobile頁面更改?
大多數時候,我想讓JQM通過按照慣例添加和刪除'網頁'來操作DOM。但是,在某些情況下,我想重寫默認行爲,並對我自己的DOM進行一些簡單的操作。
例如,我有一個用戶列表,其中每個用戶都有一個「添加到聯繫人」鏈接/表單。
<ul data-role='listview'>
<li>
<span class='name' id="user_56757234">Jim</span>
<form action="/contacts" class="new_contact_form" data-remote="true" data-type="json" id="new_contact_form_56757234" method="post">
<!-- form info here -->
<input name="commit" type="submit" value="Add Contact" />
</form>
</li>
<li>
<span class='name' id="user_975827294">Fred</span>
<form action="/contacts" class="new_contact_form" data-remote="true" data-type="json" id="new_contact_form_975827294" method="post">
<!-- form info here -->
<input name="commit" type="submit" value="Add Contact" />
</form>
</li>
<!-- etc... -->
</ul>
用戶點擊添加給定的聯繫人後,假設請求成功,給定的表單應該消失,表明聯繫人已被添加。
我需要符合標準的Rails RESTFUL風格的控制器,所以這些表單將提交給一個ContactsController創建動作,這將返回,比方說,一個新的聯繫人的JSON表示。
同樣,我想阻止JQM嘗試插入新頁面 - 我只想刪除觸發事件的特定表單。但我不想禁用我在別處依賴的標準JQM行爲。
是否有乾淨,簡單的方法來做到這一點?
我收集'pagebeforeload'事件是我的朋友,但我不清楚如何設置它。
這個職位似乎相關(jquery mobile prevent page change depending on calling page)......但我更正,這是一個全球性的設置?似乎在我的情況下過度殺傷。
這是一個Rails 3.1項目,所以我可以在控制器特定的JavaScript資產文件中設置此項目,這種方式可以與標準Rails-UJS一起使用。
任何幫助將不勝感激,
熱烈,
因此...回想起來,解決方案非常明顯。 DIY,給JQM一個休息 – doublea 2012-04-20 20:09:19