Могу ли я использовать панели обновления с jQTouch?
Я использую элементы управления ASP.NET для заполнения HTML-кода для моего приложения jQTouch, но у меня возникают проблемы с тем, что мои hrefs перестают функционировать, как предполагалось на моей странице поиска. Функция jQuery для моего якорного класса, очевидно, не вызывается; он просто ссылается на страницу по умолчанию, хотя ссылка на другие страницы создается аналогично без каких-либо проблем.
Вот где мои ссылки ломаются:
<form id ="form1" runat="server" class="form">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="up1">
<ContentTemplate>
<ul class="rounded">
<li><asp:TextBox ID="txtSearchString" runat="server" name="search-articles" placeholder="Search GROK"></asp:TextBox></li>
<li><asp:Button ID="btnSearch" runat="server" Text="Search" type="rounded" OnClick="btnSearch_Click"></asp:Button></li>
</ul>
<asp:Literal ID="litSearchResults" runat="server"></asp:Literal> <%--HTML for jQTouch inserted here--%>
</ContentTemplate>
</asp:UpdatePanel>
</form>
Это пример HTML, сгенерированного кодом позади.
<ul class="edgetoedge"><li class="sep">Found 101 articles</li><li><a href="#article" class="articleLink" id="4773">PAWS: How to Access the Sample Test Database</a></li><li><a href="#article" class="articleLink" id="6464">Mac OS X: Hardware Test</a></li><li><a href="#article" class="articleLink" id="10483">The JavaScript Test</a></li><li><a href="#article" class="articleLink" id="14110">PAWS: Emergency Text Message Test</a></li><li><a href="#article" class="articleLink" id="3659">Definition: remote digital loopback test</a></li><li><a href="#article" class="articleLink" id="4333">Definition: power-on self test</a></li><li><a href="#article" class="articleLink" id="4346">Definition: power-on self test</a></li><li><a href="#article" class="articleLink" id="14166">AVG 9.0 Free Edition: Setting Scan Process Priority</a></li><li><a href="#article" class="articleLink" id="4187">Microsoft Office 2007: Diagnostics</a></li><li><a href="#article" class="articleLink" id="7301">Moodle: Description of Aggregation Methods</a></li><li><a href="#article" class="articleLink" id="14124">AVG 9.0 Free Edition: How can I run the complete scan of whole computer?</a></li><li><a href="#article" class="articleLink" id="13758">LSU A-Z: Office of Assessment and Evaluation</a></li><li><a href="#article" class="articleLink" id="10765">Linux: sed Insert a Newline Into the RHS of a Substitution</a></li><li><a href="#article" class="articleLink" id="5193">Microsoft PowerPoint 2007: Narrating a Slide</a></li><li><a href="#article" class="articleLink" id="7401">Ubuntu: Deleting Undeletable Files In the Trash</a></li><li><a href="#article" class="articleLink" id="10812">Linux: Remove All Digits/ Input From Inputs</a></li><li><a href="#article" class="articleLink" id="13643">SQL: Create a MySQL DocDB Databse</a></li><li><a href="#article" class="articleLink" id="5784">Linux Gnome: Screens and Graphics</a></li><li><a href="#article" class="articleLink" id="5731">Linux Xfce: Adjust keyboard settings</a></li></ul>
jQTouch обрабатывает все остальные теги как обычно, это просто якоря, которые перестали функционировать, как предполагалось, будучи помещенными в эту форму. Могу ли я продолжать использовать панели обновления здесь или они неизбежно сломаются? Есть ли обходной путь? Или я неправильно подхожу к проблеме? Имейте в виду, я хочу сохранить анимацию AJAXical, созданную jQTouch. Если вы обнаружите, что мне неясно или вы хотите увидеть больше кода (я включил только то, что считаю необходимым), пожалуйста, дайте мне знать.
Бонусные баллы, если вы можете сказать мне, как заставить jQTouch заменить некрасивый элемент управления ASP.NET кнопкой iPhoney.:)
1 ответ
Я думаю, что вам придется потрудиться, чтобы ASP.Net работал с jqtouch с панелями обновления, так как вы будете бороться с JavaScript, вставленным ASP.Net, с JavaScript, который вставляет jqtouch. В вашем примере все ваши ссылки идут на один и тот же якорь (#article). Чтобы сделать это в виде jQtouch, вам нужно, чтобы все ссылки шли на "#" и обрабатывали нажатие articleLinkClass, а затем корректировались по мере необходимости.
$('.articleLink').tap(function()
{
var id = $(this).val('id');
// Pseudo CODE HERE FOR Setting up the article based on id... E.g.
$.json(jsonServiceUrl, { article_id: id }, function(data)
{
$('#article data).html(data);
});
jQt.goTo('article'); // Display the article page...
});
Кнопки iPhoney создаются в jQtouch так же, как и их класс "whiteButton", то есть:
<a id="myTestButton" class="whiteButton">Test Button</a>
Надеюсь это поможет...