jquery-mobile - 如何将禁用ajax链接绑定到某个类

时间:2010-12-23 09:05:41

标签: jquery jquery-mobile

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

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

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

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

语法有什么问题吗?

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

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

频繁

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

3 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:2)

$(document).bind("mobileinit", function(){
  //Disable ajax link
  $('.disable-ajax').click(function(event){
    $.mobile.ajaxFormsEnabled = false;
  });
});

答案 2 :(得分:0)

这个$ .mobile。*是一堆很早就使用的配置选项。这就是他们在初始化时显示here的原因。此设置是全局设置。

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

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

  2. 在项目被JQM拉伸之前:

    $ .mobile.ajaxLinksEnabled = false;
    $( 'theNEWelement')appendTo( '地方')网页();
    $ .mobile.ajaxLinksEnabled = false;

  3. 对结果进行评论,我将编辑以标记哪一个有效。我现在无法测试它。