javascript - 在点击事件的正下方放置 jquery 对话框

标签 javascript jquery jquery-ui jquery-ui-dialog

我试图在单击的按钮正下方放置一个对话框。以下内容:

$(document).on('click', '.my_buttons', function(e){
    $('#my_dialog').dialog("option", "position", [e.pageX, e.pageY]);
    $('#my_dialog').dialog('open');
});

当页面上存在多个具有该类名称的按钮时,它无法正常工作。它显示最后一个按钮下方的对话框,而不是单击的按钮。有什么方法可以解决这个问题而不必在每个按钮上添加 ID 属性吗?

此外,当只有 1 个按钮时,上面的效果很好,它显示在该按钮下方,但这取决于我单击按钮的哪一部分。如果我单击按钮的上 Angular ,对话框会与该按钮重叠一点。我该怎么做才能使其不与单击的按钮重叠?

谢谢你的帮助

最佳答案

使用偏移量而不是事件页面,因为它们是鼠标的位置

$(document).on('click', '.my_buttons', function(e){
    var offest = $(this).offset();
    var height = $(this).height();
    $('#my_dialog').dialog("option", "position", [offest.left, offest.top+height]);
    $('#my_dialog').dialog('open');
});

关于javascript - 在点击事件的正下方放置 jquery 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372008/

相关文章:

javascript - 如何在javascript中将数字转换为百万

javascript - 使用与 Lodash 的差异

javascript - 如果用户不活动则运行 jQuery 超时函数

javascript - 不能选择公元前

jquery - bootstrap-typeahead.js 在 select 事件上添加监听器

javascript - 创建一个 javascript 库闭包

javascript - 如何获取当前浏览器选项卡的句柄

javascript - 绑定(bind)到类时,JQuery UI 日期选择器不起作用

jquery - 如何选择 HTML 中包含 " "的元素?

javascript - jQuery .css 背景图像预加载