0

我正在处理我的第一个 Ajax 项目,但我找不到解决此问题的方法:

这是我的 Ajax 代码:

$(document).ready(function(){

var seite = $('div.ipadSeite');

$('a').on('click', function(e){
    var href = $(this).attr('href');

    seite.load( href );
    e.preventDefault(); 
});

});

这是 index.php:

....<div id="ipadHeader">
        <nav>
            <ul>
                <li>100% |=|</li>
                <li>
                    <?php 
                        echo date("h:i a");
                    ?> 
                </li>
                <li>TWT</li>
            </ul>
        </nav>
    </div>
    <div class="ipadSeite">
        <img src="../images/homescreen.png" id="homescreenImage" />
        <a href="seiten/1app.php"><div id="appIcon"><p>TWT</p></div></a>
    </div>
</div>....

首次启动应用程序时,链接:a href="seiten/1app.php 正在工作!所以我创建了一个主页按钮以返回 index.php。这是通过 Ajax 加载的文件以返回“主页” :

    <img src="../images/homescreen.png" id="homescreenImage" />
<a href="informationen.php"><div id="appIcon"><p>TWT</p></div></a>

它只是在“ipadSeite”中加载相同的内容。我的第一个问题:这是错的吧?它应该更容易吗?但是当链接到 index.php 时,它会加载整个站点(页眉、页脚 ..)并且功能会中断。

第二个问题:我的解决方案有效,但是当我再次单击该按钮时,它不会发出 Ajax 请求。相反,它会打开一个常规链接,但没有 CSS。我真的找不到任何解决方案。我希望你们理解我的问题和我的解释。

非常感谢你!凯文

4

3 回答 3

1

代理功能:

$(document).delegate('a','click',function(){//Write your function here})

“开”我觉得很有情境。'Delegate' 和 'live' 都适用于异步加载元素。

罗伯特

于 2012-06-15T15:20:07.127 回答
0

据我粗略看一眼,您并没有使用 AJAX,而只是使用了 jQuery 的函数。

你到底想做什么?如果您逐点列出用户旅程是什么,那么我相信有人可以帮助您。

罗伯特

[编辑]

您是否尝试过访问主页上的特定部分:

<script>
  $("#new-nav").load("/ #jq-footerNavigation li");
</script>

上面的代码说从主页'/'获取一些数据并将其加载到'#new-nav'元素中

在您的情况下,它应该是 .load('/ .ipadSeite' )

于 2012-06-15T14:31:32.547 回答
0

首先,我认为您在 id 中按类引用 div

var seite = $('div.ipadSeite'); => var seite = $('#ipadSeite');

于 2012-06-15T14:31:53.587 回答