2012-04-25 85 views
7

使用jQuery Mobile我想禁用DOM特定部分內的鏈接上的ajax調用。使用jQuery Mobile從常規鏈接中刪除ajax調用

我不想

data-ajax = false 

我不想使用AJAX jquerymobile每次放。

例如,那就是「內容」孩子的任何鏈接:

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

我想補充的「數據AJAX =假」到每一個環節即是「內容」

孩子

有沒有辦法用jQuery來做到這一點?

回答

18

如果要禁用從錨標記的AJAX鏈接行爲,你可以把鏈接rel=external和鏈接將加載沒有Ajax,然後你的URL將被如常。

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> 

如果您想爲內容的div裏面的一些一個標籤爲此在jQuery的,你可以嘗試這樣的

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

下面是一個簡單http://jsfiddle.net/4WEBk/3/

的更簡化的版本。 (感謝tandu指點)

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

這是一個較慢的選擇。對'.each'的調用是不必要的,因爲'.attr'的setter版本在集合上工作。你也可以調用'$(「。content a」)。each()'來避免添加到符號表中。 – 2012-04-25 16:46:04

+0

不會添加'rel =「external」'與添加'data-ajax = false'一樣糟糕?很好的答案,但我認爲它創造了OP不需要的相同要求。 – 2012-04-25 16:46:59

+0

@JoshAllen OP要求一個簡單的方法來自動添加一個屬性到一個特定的選擇器..如果他想離開屬性* off *,他可以通過無所事事來解決這個問題。 – 2012-04-25 16:50:44

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

我不得不添加的rel =「外在」和目標=「_自我」也使它工作。

在某些情況下,將使用正常的http請求代替 Ajax請求。一種情況是,當鏈接到外部網站 的頁面時。也可以指定一個正常的http請求是 由通過下面的鏈接屬性:

  • 相對=外部

  • 目標(具有任何值,諸如 「_blank」)