2011-03-06 24 views
0

我第一次在jquery中創建了一個adrotator,當我在使用pagemethods對服務器執行ajax調用並顯示模式的頁面上使用它時。該頁面發回。當我刪除旋轉器時,該頁面按原樣工作。在旋轉器中,我在文檔就緒功能中有以下代碼。在.NET中導致回發的JQuery

$(".animation_control a.play").live('click', function() {   
     $(this).removeClass('play'); 
     $(this).addClass('pause'); 
     Play(); 
    }); 

    $(".animation_control a.pause").live('click', function() { 
     $(this).removeClass('pause'); 
     $(this).addClass('play'); 
     clearInterval(timer); 
    }); 

    $(".animation_control a.pause").click(function() { 

    }); 

    //Toggle Teaser 
    $("a.collapse").click(function() { 
     $(".main_image .block").slideToggle(); 
     $("a.collapse").toggleClass("show"); 
    }); 

如果我註釋掉的代碼頁停止整個頁面刷新和和回發異步像它應該。任何想法爲什麼這會導致頁面做一個完整的回發,而不是一個部分?

+1

何時發生POST?所有代碼都會設置一些事件處理程序;它不會導致表單被提交或類似的東西。 – Pointy 2011-03-06 16:25:20

回答

3

作爲一種猜測,由於代碼不完整,您應該將return false添加到您的事件處理程序中,以防止鏈接實際觸發。

2
.live('click', function (e) {  
e.preventDefault(); 

//your code 
+0

這沒有奏效,但這是正確的軌道,如果我改變生活點擊然後回發不會發生。只是元素是動態添加的,所以我需要現場活動。任何其他想法?我也嘗試添加返回錯誤的通話,沒有運氣。 – user647078 2011-03-07 00:36:30

0

錨被用於導航到在同頁的頁/區域,並根據該部分,點擊錨我們必須移動到錨定指向的HREF。

爲了消除這種默認行爲,我們需要執行return false或防止使用jQuery進行默認操作。

這是an example of what i mean.

+0

頁面與.live委託一起工作良好,一旦我將它們刪除,它就會按照它應有的方式工作。唯一的問題是,我需要這些代表,只是不知道如何讓他們工作。建議我嘗試返回false,並且還有e.preventDefault(); – user647078 2011-03-07 00:56:07

+0

查看我的鏈接,查看我的網頁的行爲。 http://jsfiddle.net/T57yj/7/ – user647078 2011-03-07 01:00:40

+0

@ user647078:我檢查了你的鏈接,你錯過了一個右括號,並且之後,一切工作都很完美。 再次嘗試從這裏:[修訂示例](http://jsfiddle.net/T57yj/19/) 「不要忘記標記爲答案,如果它幫助你:)」 – 2011-03-07 21:50:04