主要在IE 8中工作,但尝试为现代浏览器编写便携式解决方案。使用telerik控件。
我正在捕捉RadContextMenu的'显示'客户端事件,并试图调整它的坐标。无法为DOM事件的clientX,clientY和x,y成员分配新值。 Visual Studio中断了“htmlfile:Member not found”错误。
我的目标是在用户点击RadEditor时显示一个RadContextMenu(在某些条件下,这是管理层的要求)。所以我捕获了RadEditor内容区域(radEditor.get_document().body;
)的onclick事件。然后我在上下文菜单中调用show(evt)
,其中'evt'是与click事件对应的事件对象。
由于RadEditor的内容位于IFRAME中,因此您必须在显示上下文菜单之前调整click事件的位置。这是在“显示”事件中完成的。但是,我无法为成员.clientX和朋友分配值。这就好像javascript暂时忘记了整数+和+ =运算符。
这些成员有可能在某些时候成为readonly / const吗?
var evt = args.get_domEvent(); while (node) { evt.clientX += node.offsetLeft; //'Member not found' here. evt.clientY += node.offsetTop; node = node.offsetParent; } evt.clientY += sender.get_element().clientHeight;