右键弹出菜单,给编辑内容增加上下标
2013-05-21 15:16
471 查看
//事件注册 listeners:{ render : function() { Ext.fly(this.el).on('contextmenu', function(e, t) { e.preventDefault(); e.stopPropagation(); var textBox = document.getElementById(t.id); var selection = document.selection; var target = e.target; insertStart = 0; insertEnd = 0; if (typeof(target.selectionStart) != 'undefined') { insertStart = target.selectionStart; insertEnd = target.selectionEnd; } else if (selection && selection.createRange) { var tr = textBox.createTextRange(); var r = selection.createRange(); tr.setEndPoint('endtoend', r); insertStart = tr.text.length - r.text.length; insertEnd = tr.text.length; } needInsertObj = textBox; rightClick.showAt(e.getXY()); });
// 全局变量
var needInsertObj; var insertStart; var insertEnd;
var rightClick = new Ext.menu.Menu({ id : 'rightClickCont', // 在HTML文件中必须有个rightClickCont的DIV元素 items : [{ id : 'insertSUP', handler : insertSUP,// 点击后触发的事件 text : '插入上标' }, { id : 'insertSUB', handler : insertSUB, text : '插入下标' }] }); function insertSUP(){ var itemForm = new Ext.FormPanel({ frame : false, plain : false, bodyStyle : 'padding:5px 5px 0;background:transparent', defaultType : 'textfield', items: [{ fieldLabel : '上标内容', id : 'supContent', readOnly : false, name : 'supContent', anchor : '80%' } ] }); var win = new Ext.Window({ width : 430, //height : 280, title : '添加上标', modal : true, closable : false, resizable : false, autoDestroy : true, //closeAction : 'hide', bodyStyle : 'padding:10px 12px 10px 10px ', items : [itemForm], buttons : [{ text : '确定', handler : function() { if(itemForm.findById('supContent').getValue()==''){ }else{ needInsertObj.value = needInsertObj.value.substring(0,insertStart) + '<sup>' + itemForm.findById('supContent').getValue() + "</sup>" + needInsertObj.value.substring(insertEnd); } win.close(); } },{ text : '关闭', handler : function() { win.close(); } }] }).show(); } function insertSUB(){ var itemForm = new Ext.FormPanel({ frame : false, plain : false, bodyStyle : 'padding:5px 5px 0;background:transparent', defaultType : 'textfield', items: [{ fieldLabel : '下标内容', id : 'subContent', readOnly : false, name : 'subContent', anchor : '80%' } ] }); var win = new Ext.Window({ width : 430, //height : 280, title : '添加下标', modal : true, closable : false, resizable : false, autoDestroy : true, //closeAction : 'hide', bodyStyle : 'padding:10px 12px 10px 10px ', items : [itemForm], buttons : [{ text : '确定', handler : function() { if(itemForm.findById('subContent').getValue()==''){ }else{ needInsertObj.value = needInsertObj.value.substring(0,insertStart) + '<sub>' + itemForm.findById('subContent').getValue() + "</sub>" + needInsertObj.value.substring(insertEnd); } win.close(); } },{ text : '关闭', handler : function() { win.close(); } }] }).show(); }
相关文章推荐
- 给树形控件添加右键弹出菜单的代码(会陆续增加了其他的内容)
- js 禁止内容选择 禁止打印 禁止右键弹出菜单
- vc右键弹出托盘菜单 对应的消息函数内容可以减少置顶
- 右键菜单增加使用“Notepad++”编辑
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- Android仿微信滑动弹出编辑、删除菜单效果、增加下拉刷新功能
- 鼠标右键Table的td弹出多级菜单,双击td编辑
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- 如何修改右键弹出的菜单的内容
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )(一)
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )(二)
- CMyRichEditCtrl 与 CMyRichEditView 增加右键点击弹出菜单功能
- 如何修改Pop-menu(右键弹出的菜单)的内容(Caption)
- 如何修改Pop-menu(右键弹出的菜单)的内容(Caption)
- 给右键菜单增加“复制到”和“移动到”功能
- OFFICE增加右键菜单
- 右键弹出菜单
- 右键单击列表控件的一项---弹出菜单
- 扩展EasyUI datagrid 增加表头右键菜单功能,可动态对列进行显示和隐藏