【发布时间】:2010-05-27 02:38:10
【问题描述】:
主要使用 IE 8,但尝试为现代浏览器编写可移植的解决方案。使用 Telerik 控件。
我正在捕捉 RadContextMenu 的“显示”客户端事件并尝试调整它的坐标。不能为 DOM 事件的 clientX、clientY 和 x,y 成员分配新值。 Visual Studio 因“htmlfile:未找到成员”错误而中断。
我的目标是让 RadContextMenu 在用户单击时显示在 RadEditor 中(在某些条件下,这是管理层的要求)。因此,我为 RadEditor 的内容区域 (radEditor.get_document().body;) 捕获了 onclick 事件。然后我在上下文菜单上调用show(evt),其中'evt' 是与单击事件对应的事件对象。
由于 RadEditor 的内容在 IFRAME 中,因此您必须在上下文菜单显示之前调整单击事件的位置。这是在“显示”事件中完成的。但是,我无法为成员 .clientX 和朋友分配值。就好像 javascript 暂时忘记了整数 + 和 += 运算符。
这些成员有没有可能在某个时候变成了只读/常量?
var evt = args.get_domEvent(); 而(节点){ evt.clientX += node.offsetLeft; //'未找到成员'在这里。 evt.clientY += node.offsetTop; 节点 = node.offsetParent; } evt.clientY += sender.get_element().clientHeight;【问题讨论】:
标签: javascript operators telerik