gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 05:52:08 26 4
gpt4 key购买 nike

我正在尝试访问 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/

26 4 0