2011-08-11 40 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

相關問題