2011-08-20 90 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/ –

相关问题