【发布时间】:2012-10-26 09:18:10
【问题描述】:
如果 ajax 请求更改了我的 div 内容,我正在尝试更新 contextmenu 项目。
这就是我的意思,我有一个这样的 div:
<div id="" class="message" data-options='{"update":"YES", "delete":"NO">
</div>
以及上下文菜单 jquery 部分(仅在正文加载时发生一次):
$.contextMenu({
selector: '.message',
trigger: 'left',
callback: function(key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
},
items: {
"update": {
name: "Update",
disabled: function(key, opt) {
return (this.data("options").update === "NO")
},
},
"delete": {
name: "Delete",
disabled: function(key, opt) {
return (this.data("options").delete=== "NO")
}
//etc. rest of the code
我希望在某些 ajax 请求发生或以某种方式禁用/启用项目时重新创建它
所以现在发生了一些 ajax 请求并且成功后我正在尝试更新 div.message data-option 因为我想启用/禁用这样的按钮:
In ajax.success function :
- disable or enable menu items
--------Actually--------Simplified
其实这个问题/答案与我当前的问题非常相似:
Disable and enable jQuery context menu
我想在单击某些按钮时启用/禁用 contextMenu 项,如果我能够在这个虚拟示例中执行此操作,我想我也可以处理 ajax 请求。
【问题讨论】:
-
我非常怀疑您是否应该为此使用数据属性。我不确定您是否可以/应该将对象用于数据属性。我的第一印象是值存储为字符串..?您可以使用 JavaScript 将对象附加到元素。
-
你指出的答案有什么问题?
标签: javascript jquery-plugins contextmenu jquery