2011-08-20 92 views
0

我願意在頁面上的任何位置雙擊動態創建div。我可以將點擊事件應用於body元素嗎?我可以在身體元素上應用點擊事件嗎?

這裏是我試過到目前爲止:

jQuery("document").ready(function(){ 
    alert("click"); 
    jQuery("body").dblclick(function(event){ 
     alert("click"); 
    }); 
}); 
+0

嗯,是的......爲什麼不試試呢?編輯:做記住,所有的事件冒泡身體,除非另行告知;) – Pelshoff

回答

1

是:

// Example, needs some IE compatibility work 
document.body.ondblclick = function (evt) { 
    createNewDiv(evt.pageX, evt.pageY); 
} 

有什麼你試過沒有工作?


響應您的評論,

jQuery("document").ready(function(){ alert("click"); jQuery("body").dblclick(function(event){ alert("click"); }); }); 

的問題是您使用的是標籤選擇 「什麼錯這一個,你能告訴我」查找文檔對象。 jQuery("document")將在名爲<document>的文檔中查找不存在的元素。你只是需要通過在文檔對象,所以:

jQuery(document).ready(function(){ 
    alert("click"); 
    jQuery("body").dblclick(function(event){ 
     alert("click"); 
    }); 
}); 

此外,默認情況下<body>元素僅僅是作爲大作爲其內容,所以如果你沒有內容應用dblclick事件到<body>,只有文檔的左上部分將觸發該事件。相反,你想將它應用到document對象,而不是:

jQuery(document).dblclick(function(event){ 
    alert("click"); 
}); 

例子:http://jsfiddle.net/a4DKC/2/

+0

的jQuery( 「文件」)準備就緒(函數(){ 警報( 「點擊」); 的jQuery( 「身體」)DBLCLICK(功能。 (事件){ alert(「click」); }); });你能告訴我這個有什麼問題嗎? –

+0

@sushil:看到我的更新答案,爲什麼這不起作用的解釋 –

+0

我修改它仍然。儘管如此,它並沒有給出正文中的dbl點擊警報。我也創建了這個小提琴http://jsfiddle.net/a4DKC/1/ –

相關問題