javascript - 将属性从 JQuery-UI-ContextMenu 触发器传递到菜单构造

标签 javascript jquery jquery-ui-contextmenu

我正在尝试访问 DIV 标记上的属性,该标记充当 JQuery-UI 上下文菜单的触发器,但很困难。

在学校环境中,我将在 DIV 文本中包含学生姓名,但我还需要传递 ID 号(可能使用 HTML5 数据 pid 属性),或者在必要时使用 DIV 的 ID。

我无法访问其中任何一个,非常感谢您提供一些指导。

我正在使用 ContextMenu 的当代版本 1.12.0 和 JQuery 3.0.0。

请参阅下面我的代码。提前致谢。

    <div id="TheIDIWantToAccess" data-pid="AnotherWantedVariable" class="hasStudentContextMenu"><p>The inner text which is showing fine using $target.text()</p></div>

    <script type="text/javascript">
    $( document ).ready(function() {
        $("#studentContextMenus").contextmenu({

            delegate: ".hasStudentContextMenu",
            preventContextMenuForPopup: true,
            menu: []
            ,beforeOpen: function(event, ui) {
                var $menu = ui.menu,
                    $target = ui.target;

                $(this).contextmenu("replaceMenu",
                    [
                        {title: "<b>" + $target.text() + "</b>"}
                        ,{title: "Award"
                            ,children: [
                            {title: "1_Point", action: function(event, ui) { alert("1 point awarded: " + $target.text() + " (" + $target.id() + ")");}},
                            {title: "2_Points", action: function(event, ui) { alert();} },
                            ]
                        }
                    ]
                );
            }
            ,select: function(event, ui) {
                //alert("select " + ui.target.attr("id"));
            }
        });
    });
</script>

最佳答案

$target.id() 不是有效的 jQuery 方法。 使用$target.attr("id")反而。还有一个.data()方法。

关于javascript - 将属性从 JQuery-UI-ContextMenu 触发器传递到菜单构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995466/

相关文章:

javascript - 无法将从 api 提供的数据中检索到的背景图像添加到 div node.js

Jquery UI-ContextMenu 触发文本选择菜单

javascript - 理解 JavaScript 原型(prototype)继承

javascript - jquery,切换 css 内容(上下箭头)

javascript - 检查数组的每个元素是否在多个数组中

javascript - 如何在我的函数中使用 .bind()

javascript - 使用 JavaScript 显示多个 CSS 弹出窗口

php - 为什么ajax等待超过一秒?