我正在为 jQuery 1.8.11.js 使用下面的上下文菜单插件,并使用“build”回调在每次右键单击时动态创建菜单。
http://medialize.github.com/jQuery-contextMenu/index.html
我希望能够在单击项目时动态加载菜单选项。
我的问题是这个上下文菜单在 ajax 调用之后不包含任何项目。
这是 jQuery 代码:
$(function(){
$.contextMenu({
selector: '.context-menu-one ul li',
build: function($trigger, e) {
var str = $trigger.text();
var replaced = str.split(/[^a-zA-Z0-9]/g);
$.post('application/getMenu.php',
{item : replaced[1]},
function(data) {
menuItems = data
};
});
return {
callback: function(key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
},
items: menuItems
};
}
});
});
这是发送 ajax 响应的 PHP 代码的一部分:
$toReturn = "";
while($row = $result->fetch_assoc()) {
$var = $row['category_name'];
$toReturn .= "\"".$var."\": {name: \"".$var."\"},";
}
echo $toReturn . "\"quit\": {name: \"Quit\"}";
谢谢你的帮助!