【发布时间】:2011-06-23 18:11:46
【问题描述】:
我编写了以下 JQuery,它将我的页面上动态生成的链接(ruby on rails will_paginate)更改为获取 JSON 并刷新页面上的元素的 GET 请求。这在它们被左键单击的情况下非常有效。但如果单击鼠标右键,则该链接仅获取来自我的服务器的 JSON 呈现信息,并在新窗口中显示原始 JSON。
如果右键单击,我怎样才能恢复到原始链接?
// 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;
});
});
【问题讨论】:
-
我看到了邪恶的
live函数。切换到delegate:$(".pagination").delegate('a',"click", function(event) { event.preventDefault(); . . .
标签: javascript jquery json will-paginate right-click