我有一个 radmenu(Telerik 控件),单击它时应该做两件事:1. 打开菜单,2. 取消回发。
这是菜单:
<telerik:RadMenu ID="radMnu1" runat="server" ClickToOpen="true" OnClientItemClicked="MenuItemClicked" OnClientItemClicking="MenuItemClickingCancelPostback">
<Items>...
</Items>
</telerik:RadMenuItem>
以下是 JS 方法:
function MenuItemClicked(sender, args) {
var itemValue = args.get_item().get_value();
var menu = $find("ctl00_radMnu1");
var menuItem = menu.findItemByText(itemText);
if (menuItem) menuItem.open();
}
}
function MenuItemClickingCancelPostback(sender, args) {
args.set_cancel(true); // Cancel the postback
}
问题是,如果我启用 OnItemClicking 事件,它会执行它,取消回发然后永远不会进入 OnItemClicked(因为回发已被取消)。如果我禁用 OnItemClicking,它会触发 OnItemClicked 并正确打开菜单,但也会进行回发。
如何同时取消打开菜单和回发?不知何故,我需要执行这两个事件。我会取消 OnItemClicked 事件的回发,但 set_cancel() 在其参数中不可用。
谢谢,