$('#ajax-links a').live('click', function(e) {
var url = $(this).attr('href');
url = url.replace(/^.*#/, '');
$.history.load(url);
return false;
});
每当我用'dblclick'替换'click'时,它仍然表现为click事件。该演示在这里(http://www.serpere.info/jquery-history-plugin/samples/ajax/),可以从这里下载源代码:https://github.com/tkyk/jquery-history-plugin/tree/master/samples/
答案 0 :(得分:2)
在添加dblclick时尝试阻止单击默认:
您可以阻止事件的默认操作,而不是return false;
:
如果您不希望事件冒泡抛出DOM,则可以使用event.stopPropagation()
函数
$('#ajax-links a').live('click', function(event) {
event.preventDefault();
});
$('#ajax-links a').live('dblclick', function(event) {
event.preventDefault();
var url = $(this).attr('href');
url = url.replace(/^.*#/, '');
$.history.load(url);
});
Dblclick事件只会在dblclick上被触发:请参阅:jsfiddle.net/cR5ZS
您认为单次点击触发的原因可能是您的链接指的是:#/some_page/
,而您的dblclick事件处理程序几乎相同。使用/some_page/
插件保存$.history
,根据我的经验,$ .history插件的功能几乎相同:将调用的url解析为并将其放入哈希:url = /some_page/
#/some_page/
安德烈亚斯