1

我的 asp.net 网页中有一个 RadContextMenu。这个菜单有一些静态项目。

我正在从 javascript 添加更多选项,仅此而已。

从 javascript 添加项目后,contextmenu 右侧变得透明。

更多细节:

以下是我在现有 rad 上下文菜单(即 RadMenu1)中添加一些项目的 javascript 代码。里面已经有一些项目,我在javascript中动态添加了一些项目

function ContextMenuOpen(sender, args) 
{
    var menu = $find("m_c_RadMenu1");
    if (IsMobileBrowser() == false) 
    {
        var evt = args.get_domEvent();
    }
    menu.trackChanges();
    var items = menu._getAllItems()
    menu.get_items().clear();

    //menu.commitChanges();
    AddItem("Visit & View Details", "a");

    if (selectedRow.findElement("lblTask") != null) {
        var tasklist = selectedRow.findElement("lblTask").defaultValue;
        var taskArray = tasklist.split(',');

        for (i = 0; i < taskArray.length; i++) {
            if (typeof (taskArray[i].split('~')[1]) == 'undefined') break;
            AddItem("Perform " + taskArray[i].split('~')[1], taskArray[i].split('~')[0]);
        }
        //rb.AddItem(selectedRow.findElement("lblTask").innerText,4)
    }
    AddItem("Log an Incident", "b");
    if (rb.isLocationSelected == false) {

    AddItem("Log a Discrepancy", "c");
}


function AddItem(text, value) {
    var menu = rb.GetMenu();
    var item = rb.GetContextMenuItem(text);
    if (item != null) return false;
    var menuItem = new Telerik.Web.UI.RadMenuItem();
    menuItem.set_text(text);
    menuItem.set_value(value)
    menu.trackChanges();
    menu.get_items().add(menuItem);
    menu.commitChanges();
    return true;
}

一切顺利,但新添加的上下文菜单在右侧显示透明背景,我发现它仅在存在文本的区域填充背景,在右侧的空白区域是透明的(见附图)

查看项目右侧的透明背景

有人知道如何删除这个透明背景吗?

4

0 回答 0