2

我有一个问题。

我是 jQuery Mobile 世界的新手,对于 ASP.Net MVC 部分,我有点迷茫。

这是我的问题:在我的移动网站中,我想更改导航栏(我使用的更像是应用程序栏)按钮,而我在编辑页面或主页等上......

所以这些页面(编辑,显示)是用ajax加载的,在这些页面上我试图触发一个事件,比如:

$(document).ready(function(){
   alert("Hello !");
});

但是经过一些研究,我发现在带有 Ajax 的 JQM 中,事件不是这样工作的,而是更像这样:

$(document).bind('pageinit', function(){
   alert("Hello !");
});

但这对我不起作用(每个页面更改都会触发事件),可能是因为在 ASP.Net MVC Mobile 中我们只有一个data-role="page",其余内容在 ajax 中加载data-role="content",所以我真的不知道加载“Ajax Loaded Kind of Page”时如何触发事件?

我曾尝试在这些页面之一的列表视图上生活/绑定,但这也不起作用:

$("[data-role='listview']").live('pageinit', function () {
    alert("hello");
});

为了更准确地了解我正在尝试做的事情:在 ASP.Net MVC 中,我的布局(我所有页面的共同点)具有div一个data-role="page"属性。这个数据角色是我所有应用程序独有的,需要处理它。但事实是,当我在我的代码中加载另一个 ASP.Net MVC 页面时:

<div data-role="page" >
<div data-role="content"> Here my ASP.Net MVC Page</div>
</div>

我不能使用,$(document).bind('pagenit')因为我不加载页面(data-role=page),而只是data-role="content".

如果您有任何想法,我会很高兴听到(更多阅读)它,提前感谢,如果我的英语不是真的“可以理解”,我很抱歉。

4

1 回答 1

0

Jquery Mobile gets the view through the AJAX and displays it. Due to this, the general events miss out since it is an AJAX call.

The best option is to disable Ajax for every form, you need to mention on each redirection call as well

data_ajax = "false"

Once it becomes a regular call, all Jquery events work normally!

于 2013-07-10T18:20:49.090 回答