主要在IE8中工作,但是尝试为现代浏览器编写一个可移植的解决方案。使用Telerik控件。
我正在捕获radContextMenu的“显示”客户端事件,并尝试调整它的坐标。无法为dom事件的clientx、clienty和x、y成员分配新值。Visual Studio出现“htmlfile:member not found”错误。
我的目标是让一个radcontextmenu在用户点击时显示在radeditor中(在某些情况下,这是管理层的要求)。所以我捕获了radeditor内容区域的onclick事件(
radEditor.get_document().body;
)然后我打电话
show(evt)
在上下文菜单上,其中“evt”是与click事件对应的事件对象。
因为radeditor的内容在iframe中,所以必须在上下文菜单显示之前调整click事件的位置。这是在“显示”事件中完成的。但是,我不能给members.clientx和friends赋值。就好像javascript暂时忘记了integer+和+=操作符。
这些成员是否可能在某个时刻变为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;