0

我有一个 jquery 移动网页。该页面由一个使用 jquery 动态生成的 listView 组成。在这个列表的最后,我想要一个简单的按钮,当我点击它时,我只是提醒一些东西。

我的HTML代码如下所示:

<div data-role="page" id="Home">
        <div data-role="content">
            <ul data-role="listview" data-inset="true" class="albums">      
            </ul> 

            <form>
                <button id="loadMoreAlbums">More Albums...</button>
            </form>         
        </div>      
</div>

您看到的按钮是在动态生成的 listView 下硬编码的。按钮的 jquery 就这么简单:

$("#loadMoreAlbums").click(function(){
            alert("yeah i am loaging more!");
});

我现在有两个问题:

1)当我加载此页面时,首先加载按钮,我可以看到它 2-3 秒,直到加载列表并进入列表末尾。我真的不喜欢这种行为,我希望在 listView 已经创建之后“创建”按钮,这样我就不会在页面中看到它。然而,这并不是一个真正的问题,只是出于美观的原因。

2)真正的问题是,当我点击按钮时,它不仅只是提醒简单的文本而已,而是再次“加载”页面,并使 listView 消失,只有按钮留在屏幕上。为什么它会这样呢?为什么它试图再次“加载”页面?我只是想让它提醒一些东西,或者做我的 jquery 告诉它做的任何事情。

4

2 回答 2

4

将您的 HTML 从

<button>...</button>

<button type="button">...</button>

默认情况下,<button>元素具有type="submit"并且将在单击时提交表单。

http://www.w3.org/TR/html5/forms.html#the-button-element

于 2013-07-02T15:14:02.927 回答
1
$("#loadMoreAlbums").button().click(function(e){
    e.preventDefault();
    alert("yeah i am loaging more!");
});

该按钮充当提交。通过添加e.preventDefault();,您可以禁止提交操作。

于 2013-07-02T15:10:24.440 回答