我正在寻找一种在加载第一页之前利用 JQM 并覆盖内容的方法。
JQM 像这样初始化(来自最新的 JQM 代码):
( function( $, window, undefined ) {
var $html = $( "html" ),
$head = $( "head" ),
$window = $( window );
// trigger mobileinit event
$( window.document ).trigger( "mobileinit" );
...
$.extend($.mobile, {
// find and enhance the pages in the dom and transition to the first page.
initializePage: function() {
...
// alert listeners that the pagecontainer has been determined for binding
// to events triggered on it
$window.trigger( "pagecontainercreate" );
...
所以我可以利用两个事件: mobileinit和pagecontainercreate。我知道这从 HTML 中很容易,如下所示:
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$( window ).bind( 'pagecontainercreate', function() {
console.log("HELLO");
});
</script>
<script type="text/javascript" src="jquery.mobile-1.1.0.multiview_con.js"></script>
<script type="text/javascript" src="plugin.js"></script>
但是,如果我想从位于 JQM 之后的 INSIDE plugin.js 绑定到这些事件怎么办?如果我在 plugin.js 中放置相同的侦听器,它永远不会触发。我想,因为为时已晚。但是我需要防止默认加载第一页,所以一旦 JQM 尝试加载初始页面,对我来说就太晚了。
问题:
在 JQM 之后的插件开始加载第一页之前,有什么方法可以监听其中一个事件或任何其他事件触发?
编辑:
我不能使用pageinit,因为它会在调用第一页后触发。pageCreate 的同上,它也不会从插件内部触发。