参数中 record 记录是当前节点的信息。
参数中的 EventObject e 里设置 e.stopEvent() 就可以把浏览器默认的右击事件屏蔽掉。
Extjs3 Treepanel中则是contextmenu contextmenu( Node node, Ext.EventObject e )
参数中node是当前节点的信息。似乎只要监听了,不用其它设置属性就能屏蔽浏览器默认右击事件。
3与4的函数不同,参数不同之外。保存的节点信息的对象也不同。 4里面是在【record.raw】这个对象里面,而3里面要获取当前节点信息是通过【node.attribute】
参考文章
http://www.blogjava.net/algz/articles/294297.html
extjs data-view 横排列
ExtJs Data-view 默认是横排列的 float:left 竖排列的原因是父容器的样式表没有正确加载
仔细读 官方 data-view.html 的例子。里面引用了一个 data-view.css 里面
#images-view .thumb-wrap{
float: left;
margin: 4px;
margin-right: 0;
padding: 5px;
}
# id . class
父级容器的 id = images-view 才能生效
如 data-view.js 中
Ext.create('Ext.Panel', {
id: 'images-view',
自己开发的 desktop.css 中需要引用这段 css 并且将父级 id 设为 images-view
var view = Ext.create('Ext.view.View', {
id:'images-view',
参考文章
http://www.17ext.com/showtopic-4804.aspx
如何为 data-view 设置右键菜单
参考文章
http://blog.sina.com.cn/s/blog_6543cca50100nj20.html
ExtJS 3 和 4 DataView 有区别
ExtJS 3
contextmenu
ExtJS 4
itemcontextmenu
4 的事件名字变了,参数个数和排列也变了
itemcontextmenu( Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e, Object options )
如何让右键单击空白处和右键单击文件夹的菜单不一样?
在监听中添加如下两个事件,后面为处理函数
containercontextmenu:containerRightClick,
itemcontextmenu:itemRightClick
function itemRightClick(dataView,records,items,node,e){
dataView.menu = Ext.create('Ext.menu.Menu', {
items:
[
{
text:'重命名'
},
{
text:'删除'
}
]
});
dataView.menu.showAt(e.getXY());
e.stopEvent();
}
function containerRightClick(dataView,e){
dataView.menu = Ext.create('Ext.menu.Menu', {
注意删掉这个判断,否则菜单创建一次之后,就不再改变了
if(!dataView.menu) {