2013-03-27 56 views
1

我想點擊執行2個函數。 另外,兩者都很好。 但是,當我執行functionA和functionB之後出現問題。jquery一鍵雙擊功能

問題出現在函數B中。我認爲這是因爲$(this)。 由於在functionA上執行的所有先例var,它沒有得到正確的id。 $(this)的id調用必須是#prev-ajax,#next-ajax。

下面的代碼:

function A(){ 
    var link = $(this); 
    ajaxify(link.attr('href')); 
    window.location.hash = link.attr("href"); 
    $('.link').removeClass('current'); 
} 
function B(){ 
    e.preventDefault(); 
    var href = $(this).attr('href'); 
    var link = $(".link[href*= '" + href + "']:not(#prev-ajax, #next-ajax)"); 
    var $parent = link.parents('.element'); 
    var prev = $parent.prev().find('.link').attr('href'); 
    var next = $parent.next().find('.link').attr('href'); 
    $("#prev-ajax").attr('href', prev); 
    $("#next-ajax").attr('href', next); 
} 
$("#prev-ajax,#next-ajax").click(A).click(B); 

對不起,英語,我是法國人

盧瓦克

回答

1

一次試試這個,看看你是同時使用的功能整合在一起仍然有問題:

$("#prev-ajax,#next-ajax").click(function (e) { 
    e.preventDefault(); 
    var functionAlink = $(this); 
    var functionBlink = $(this); 

    // Function A code 
    ajaxify(functionAlink.attr('href')); 
    window.location.hash = functionAlink.attr("href"); 
    $('.link').removeClass('current'); 

    // Function B code 
    var href = functionBlink.attr('href'); 
    var link = $(".link[href*= '" + href + "']:not(#prev-ajax, #next-ajax)"); 
    var $parent = link.parents('.element'); 
    var prev = $parent.prev().find('.link').attr('href'); 
    var next = $parent.next().find('.link').attr('href'); 
    $("#prev-ajax").attr('href', prev); 
    $("#next-ajax").attr('href', next); 
}); 
+0

非常感謝!這兩個功能都很好,一個接一個地工作! – lolo 2013-03-27 23:29:09

+0

很高興幫助! – 2013-03-27 23:30:00