2011-06-23 92 views
0

我已经编写了下面的JQuery,它在我的页面上更改动态生成的链接(ruby on rails will_paginate),以GET请求获取页面上的JSON和刷新元素。这在左键点击的情况下效果很好。但是在右键单击的情况下,只有GETS链接从我的服务器呈现信息,并在新窗口中显示原始JSON。JQuery右键单击问题

如何在右键点击的情况下恢复原始链接?

// will_paginate + ajax 
// updates two divs: #pages and #pagelink 
// see places#search controller; passes 4 parameters to the search action 

$(function(){ 
    $(".pagination a").live("click", function(event) { 
    event.preventDefault(); 

    // Javascript Regular expression function; extracts page number from full url 
    var extractPageNumber = function(s) { 
    var r=/page=(\d+)/, m=(""+s).match(r); 
    return (m) ? Number(m[1]) : undefined; 
    }; 
    var pageregex = extractPageNumber($(this).attr('href')); 
    $(".pagination").html("Page is loading...") 
    $.get("/event", { event: $("input[name=event]").val(), page: pageregex }, function(data) { 
    $('#pagelink').html(data.page_link); 
    $('#tweets').html(data.html); 
    }); 
    return false; 
    }); 
}); 
+0

我看到邪恶的“活”功能。切换到'delegate':'$(“。pagination”)。委托('a','click',function(event){event} event.preventDefault();。。。'' –

回答

1

请参阅How to distinguish between left and right mouse click with jQuery的答案,了解如何查看右键单击。

+0

这似乎不工作。这是否与现场表演不错? –

+0

我应该注意到:这个作品只有刷新一次后,我点击左键点击链接,然后尝试右键点击,它恢复到JSON –

+0

@JZ,它应该玩的很好 – Neal

0

检查event.which == 1。这表示鼠标左键单击。