我有一个现有的网站,我试图通过使用以下插件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};
}
});