从jQuery Mobile的常规链接中删除ajax调用

时间:2012-04-25 16:37:38

标签: jquery jquery-mobile

使用jQuery Mobile我想在DOM的特定部分内的链接上禁用ajax调用。

我不想提出

data-ajax = false

每次我不想使用jquerymobile ajax。

例如,任何“内容”子代的链接:

<div class="content">
    <a href="http://externalwebsite.com">External Link</a>
</div>

我想将'data-ajax = false'添加到'content'的孩子的每个链接上

有没有办法用jquery做到这一点?

3 个答案:

答案 0 :(得分:18)

如果要从锚标记中禁用ajax链接行为,可以将rel=external放在链接中,链接将在没有ajax的情况下加载,然后您的网址就会正常。

http://jquerymobile.com/demos/1.0a4.1/#docs/pages/docs-navmodel.html

<a href="User/somepage" rel="external" />I wont be using ajax for navigation</a>

如果你想在jQuery中为内容div中的一些标签做这个,你可以试试这个

$(function(){
  $(".content a").each(function(){
    $(this).attr("rel","external");
  });
});

以下是http://jsfiddle.net/4WEBk/3/

示例

简化版越多。 (感谢tandu指点)

$(function(){
  $(".content a").attr("rel","external");
});

答案 1 :(得分:5)

$(".content a").attr('data-ajax', false);

答案 2 :(得分:0)

我必须添加rel =&#34; external&#34;和目标=&#34; _self&#34;也是为了让它发挥作用。

  

在某些情况下,将使用正常的http请求代替   Ajax请求。这种情况的一种情况是链接到页面时   外部网站。您还可以指定正常的http请求   通过以下链接属性制作:

     
      
  • 相对=外部

  •   
  • 目标(包含任何值,例如&#34; _blank&#34;)

  •