Javascript event.clientX是只读的吗?

Javascript event.clientX是只读的吗?,javascript,operators,telerik,Javascript,Operators,Telerik,主要是在IE8中工作,但试图为现代浏览器编写一个可移植的解决方案。使用telerik控件 我正在捕捉RadContextMenu的“显示”客户端事件,并尝试调整其坐标。无法为DOM事件的clientX、clientY和x、y成员分配新值。Visual Studio出现“htmlfile:Member not found”错误而中断 我的目标是当用户点击RadEditor时,在RadEditor内部显示RadContextMenu(在某些情况下,这是管理层的要求)。因此,我捕获了RadEditor

主要是在IE8中工作,但试图为现代浏览器编写一个可移植的解决方案。使用telerik控件

我正在捕捉RadContextMenu的“显示”客户端事件,并尝试调整其坐标。无法为DOM事件的clientX、clientY和x、y成员分配新值。Visual Studio出现“htmlfile:Member not found”错误而中断

我的目标是当用户点击RadEditor时,在RadEditor内部显示RadContextMenu(在某些情况下,这是管理层的要求)。因此,我捕获了RadEditor内容区域的onclick事件(
RadEditor.get_document().body;
)。然后在上下文菜单上调用
show(evt)
,其中“evt”是与单击事件对应的事件对象

由于RadEditor的内容位于IFRAME中,因此必须在显示关联菜单之前调整单击事件的位置。这是在“显示”事件中完成的。但是,我无法为members.clientX和friends赋值。就好像javascript暂时忘记了整数+和+=运算符

这些成员是否可能在某个时候成为只读/常量

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; var evt=args.get_domEvent(); while(节点){ evt.clientX+=node.offsetLeft;//此处未找到成员。 evt.clientY+=node.offsetTop; node=node.offsetParent; } evt.clientY+=sender.get_元素().clientHeight; 好的,我找到了解决办法。在将事件传递到contextMenu.show()函数之前,我制作了一个副本并将其传递。这真有魅力