在ExtJS 4.0.2a中,我可以使用以下方法在网格上更改光标图像:
body.setStyle('cursor','move');
这在4.0.7或4.1中似乎不起作用。我没有得到任何css错误,但它确实在应该发生更改的位置给出了不自然的延迟。也许它被覆盖了?
更新
我正在尝试从网格onitemmousedown
事件中运行此操作。我发现GridView
获得了一个“.x-unselectable”类,使网格文本无法选择(我想要)。但是在ExtJS 4.0.7和4.1中,这个“.x-unselectable”类具有cursor: default
设置,该设置由网格的所有行和单元继承,并覆盖我应用于游标的任何其他样式属性。它在4.0.2a中没有这个。
如果我使用!important
强制使用gridview光标样式,则只有在我将其准确地放在两行之间的1px行之上时,光标才会发生变化,因为该行仍然继承了光标设置。我想我可以使用相同的方法覆盖所有行然后所有单元格的光标样式,但似乎应该有一些更清晰的extjs方法。
答案 0 :(得分:2)
有没有特别的理由不使用CSS?
<style>
.MyTarget{
cursor: pointer;
}
/*override the panel header cursor */
.x-form-field {
cursor: pointer;
}
</style>
<div class="MyTarget">The cursor will be a pointer over the body here</div>
// Some Ext to create a panel - the panel header will have the new cursor declared in the CSS
答案 1 :(得分:1)
我猜body
直接引用了正文的DOM元素。你试过吗
Ext.getBody().setStyle("cursor", "move");
这会将身体包裹为Ext.Element
,并为您提供所有不错的方法。如果这不起作用,我建议打开一个调试器并进入setStyle函数,看看是否有任何奇怪的事情发生,或者看一下body.style.cursor
。