2011-08-11 41 views
1
$('#ajax-links a').live('click', function(e) { 
    var url = $(this).attr('href'); 
    url = url.replace(/^.*#/, ''); 
    $.history.load(url); 
    return false; 
}); 

每当我用'dblclick'替换'click'它仍然表现为点击事件。演示在这里(http://www.serpere.info/jquery-history-plugin/samples/ajax/),并且可以从这里下载源代码:https://github.com/tkyk/jquery-history-plugin/tree/master/samples/为什么dblclick事件像点击事件一样工作?

+0

没有人会下载该代码只是为了帮助你。如何在jsFiddle中设置问题并与我们分享。 –

+0

看到http://stackoverflow.com/questions/4562012/make-a-link-open-on-double-click –

+0

我不能复制/粘贴在jsfiddle出于某种原因 – user784637

回答

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); 
}); 

双击自动事件LY在被解雇DBLCLICK:见:jsfiddle.net/cR5ZS

你认为原因及其对单一的点击炒鱿鱼可以为你的链接指向类似:#/some_page/和你DBLCLICK事件处理程序几乎相同。保存/some_page/$.history插件,在我的经验,$ .history中插件不几乎相同:需要解析与呼叫的网址,并把它在散列:URL = /some_page/成为#/some_page/

安德烈亚斯

+0

这是一个伟大的工作。我认为双击默认为单击是出于某种原因,你会碰巧知道为什么?也许是因为锚点默认为单击? – user784637

+1

对不起,以前没有写过。 Dlbclick事件在点击时很快出现。点击一次单击事件后点击。我很确定你的单击功能与你正在编写的dblclick几乎相同。对不起,听起来很混乱。 – andlrc

+0

嗨安德烈亚斯,非常感谢。我指的是原始代码,当我说当我将'click'事件更改为'dblclick'时,双击仅默认为单击' – user784637

相关问题