1

我越来越绝望地试图让 jQuery 移动pagebeforeload事件触发。这什么都不做:

 $(document).on("pagebeforeload", function( e, data ) {
        console.log("hello");
    });

根据JQM docs,语法是正确的。不过,什么也没有发生。谁能告诉我这是为什么?

4

2 回答 2

4

您的代码完全按原样为我工作。

在此处输入图像描述

请务必注意,这仅在您加载单独的页面时才有效。它不适用于内部链接的页面,因为它实际上并没有加载页面。

于 2012-04-16T22:08:14.700 回答
2

确保你包括preventDefault();否则,它会愉快地继续加载。

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

$( document ).bind( "pagebeforeload", function( event, data ){

    // Let the framework know we're going to handle the load.

    event.preventDefault();

    // ... load the document then insert it into the DOM ...
    // at some point, either in this callback, or through
    // some other async means, call resolve, passing in
    // the following args, plus a jQuery collection object
    // containing the DOM element for the page.

    data.deferred.resolve( data.absUrl, data.options, page );

});
于 2012-04-16T21:10:39.760 回答