我有一个现有网站,我试图通过使用以下插件jquery 将右键单击上下文菜单添加到表中 我的 php 名称中的表是“Table1” 我正在使用以下 javascript 来填充菜单:
$(document).ready(function()
{
$("#Table1").contextmenu({
delegate: ".RightClickMenu",
menu: [
{title: "Add", action: function(event, ui) {
// Do something
}},
{title: "----"},
{title: "Refresh", action: function(event, ui) {
// Do something
}}
]
});
});
这会创建一个包含“添加”和“刷新”的菜单(在我的实际站点中,它的菜单不同)当我在我的网站上实现此代码时,它可以在 Chrome 中工作(当我右键单击表格时,它会在我单击的表格上显示菜单) 但是当我使用 IE 打开网站时,菜单仍然会打开,但在 IE 的右上角...为什么会这样?我究竟做错了什么?
编辑:使用来自 Api 的以下代码,现在它正在工作......似乎是 IE8
$("#StockListWorkBenchTbl").contextmenu({
delegate: ".StockListWorkBenchTblRightClickMenu",
menu: [
{title: "Review Bids", action: function(event, ui) {
var row = ui.target.parent();
var BidID = row.attr('id');
var selFlowStat = row.find('td:eq(2)').html();
CallFetchReviewBids(BidID, selFlowStat);
}},
{title: "Extend Expiry", action: function(event, ui) {
/*var BidID = ui.target.parent().attr('id');
var BidRow = ui.target.parent();
ExtendExpiry(BidID, BidRow);*/
$("#StockListWorkBenchTbl tr").each(function(){
var BidRow = $(this);
var BidID = BidRow.attr("id");
var Checkbox = $(this).find("input:checkbox:first");
if (Checkbox.attr("id") !== "StockListWorkBenchAllChecked")
{
if (Checkbox.is(":checked"))
{
ExtendExpiry(BidID, BidRow);
}
}
});
}},
{title: "----"},
{title: "Refresh", action: function(event, ui) {
CallToFetchWorkBench(0);
}}
],
position: function(event, ui){
return {my: "left top", at: "left bottom", within: ui.target};
}
});