php – Jquery Mobile:新的Ajax加载页面没有加载新的JS

这是我目前的设置.

我在jquery移动框架上运行了两个页面.

> index.PHP
> article.PHP

在麻烦的标题我有一个名为评级的js文件.

这是我的js ratings.js:

$(document).ready(function(){
    $("#rating_1").click(function () {
        $("#rating_2").css('backgroundPosition','0px 0px');
        $(this).css('backgroundPosition','-45px 0px');
    }); 
});

当我加载index.PHP然后转到article.PHP时,我的触发器都没有给ratings.js工作.

如果我添加rel =“external”或data-ajax =“false”我的触发器工作.
然而,我失去了装载轮出现的能力.

有什么建议?

谢谢!

解决方法

Important: Use $(document).bind('pageinit'),not
$(document).ready()

The first thing you learn in jQuery is to call code inside the
$(document).ready() function so everything will execute as soon as
the DOM is loaded. However,in jQuery Mobile,Ajax is used to load the
contents of each page into the DOM as you navigate,and the DOM ready
handler only executes for the first page. To execute code whenever a
new page is loaded and created,you can bind to the pageinit event.
This event is explained in detail at the bottom of this page.

> http://jquerymobile.com/demos/1.1.0/docs/api/events.html

尝试:

$(document).bind('pageinit',function() {
    $("#rating_1").click(function() {
        $("#rating_2").css('backgroundPosition','-45px 0px');
    }); 
});

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...