Jquery一键单击两个功能

时间:2013-03-27 22:58:19

标签: jquery function this

我想点击执行2个功能。 另外,两者都很有效。 但是,当我执行functionA和functionB之后,我遇到了问题。

问题来自于functionB。我认为这是因为$(这个)。 由于在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 个答案:

答案 0 :(得分: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);
});