4

我在 Jquery Mobile 中处理多列布局。

当用户打开多列页面时,我想禁用 JQM ajaxlinks 导航(并切换到“人工导航和历史记录”。所以基本上我试图绑定到类名 =“ui-hash”的链接或列表项-blocked”。当用户离开页面时,我将重新打开 ajaxlinks。

我喜欢这个想法,但无法让此代码正常工作(错误:$.mobile' [undefined])

$('.ui-hash-block').click(function ()
             {
             $.mobile.ajaxLinksEnabled = false;               
             });

语法有什么问题吗?

我知道在启动 JQM 之前调用 $.mobile 的错误,但由于我只在单击链接/列表项时调用此函数,因此 JQM 应该已经启动。

感谢您的帮助和圣诞快乐!

频繁

PS:如果您需要更多代码,我可以举一个例子。

4

3 回答 3

18

data-ajax="false"如果您只想在某些链接上使用此行为,请添加到链接

于 2011-08-23T10:26:45.350 回答
2
$(document).bind("mobileinit", function(){
  //Disable ajax link
  $('.disable-ajax').click(function(event){
    $.mobile.ajaxFormsEnabled = false;
  });
});
于 2011-04-27T05:55:49.010 回答
0

这个 $.mobile.* 是一堆很早就被使用的配置选项。这就是为什么他们在这里显示何时初始化它。此设置是全局设置。

你想要做的是hacky。但我相信您可以在正确的时刻更改设置,应该是其中之一:

  1. 就在单击之前-在您的示例中尝试单击的 mousedown 事件 insteqad

  2. 在项目被 JQM 拉皮条之前:

    $.mobile.ajaxLinksEnabled = 假;
    $('theNEWelement').appendTo('somewhere').page();
    $.mobile.ajaxLinksEnabled = 假;

评论结果,我将编辑以标记哪个有效。我暂时无法测试它。

于 2011-01-03T12:14:48.297 回答