【问题标题】:event.clientX is readonly?event.clientX 是只读的?
【发布时间】: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


    【解决方案1】:

    好的,我找到了解决方案here。在将事件传递给 contextMenu.show() 函数之前,我制作了一个副本并改为传递它。这很有魅力!

    【讨论】:

      猜你喜欢
      • 2021-07-26
      • 1970-01-01
      • 2011-05-14
      • 2014-02-26
      • 2017-07-31
      • 2019-02-12
      • 2020-08-07
      • 2018-09-30
      • 1970-01-01
      相关资源
      最近更新 更多