我使用jquery创建了一个简单的注释功能。注释功能工作正常,但是当我点击页面时它会创建一个注释框。但它有一个缺点,即当我点击评论框时,会创建一个新的评论框。这不是我想要的。
我想在用户点击.body
元素而不是其子元素,即评论框时创建一个新的评论框。
我试图通过特别提到子元素来解决这个问题,如下面的代码所示。但这甚至不会触发.body
元素上的事件。
$(document).on('mousedown', '.body', function (e) {
//code here
}).on('mousedown', '.body *', function(e){ return false; });
答案 0 :(得分:4)
您可以尝试检查e.target
是否.body
$(document).on('mousedown', '.body', function (e) {
if (!$(e.target).hasClass('body')) {
return;
}
//your code
});
但在您的情况下,由于.pdfcontent
涵盖了您可能想要的整个.body
$(document).on('mousedown', '.body .pdfcontent', function (e) {
var body = $('.body');
var width = body.width();
var height = body[0].scrollHeight;
var left = (e.pageX / width) * 100;
var top = (e.pageY / height) * 100;
setElement(left, top);
});
演示:Fiddle
答案 1 :(得分:0)
请参阅http://jsfiddle.net/70b4Loh1/16/
我认为你只需要绑定到.pdfcontent
而不是身体
$(document).on('mousedown', '.pdfcontent', function (e) {