1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- //根据按键控制状态机的跳转
- MWF.xApplication.MinderEditor.JumpingInReadMode = function( editor ) {
- /**
- * @Desc: 下方使用receiver.enable()和receiver.disable()通过
- * 修改div contenteditable属性的hack来解决开启热核后依然无法屏蔽浏览器输入的bug;
- * 特别: win下FF对于此种情况必须要先blur在focus才能解决,但是由于这样做会导致用户
- * 输入法状态丢失,因此对FF暂不做处理
- * @Editor: Naixor
- * @Date: 2015.09.14
- */
- var fsm = editor.fsm;
- var receiver = editor.receiver;
- var container = editor.contentNode;
- // normal -> *
- receiver.listen('normal', function(e) {
- //console.log( "receiver.listen('normal'" );
- // 为了防止处理进入edit模式而丢失处理的首字母,此时receiver必须为enable
- receiver.enable();
- /**
- * check
- * @editor Naixor
- * @Date 2015-12-2
- */
- switch (e.type) {
- case 'keydown': {
- // normal -> normal shortcut
- fsm.jump('normal', 'shortcut-handle', e);
- break;
- }
- case 'keyup': {
- break;
- }
- default: {}
- }
- });
- container.addEventListener('contextmenu', function(e) {
- e.preventDefault();
- });
- };
|