fck_1_gecko.js
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:3k
源码类别:
OA系统
开发平台:
C#
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2006 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fck_1_gecko.js
- * This is the first part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- * (Gecko specific implementations)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
- FCK.Description = "FCKeditor for Gecko Browsers" ;
- FCK.InitializeBehaviors = function()
- {
- // When calling "SetHTML", the editing area IFRAME gets a fixed height. So we must recaulculate it.
- Window_OnResize() ;
- FCKFocusManager.AddWindow( this.EditorWindow ) ;
- // Handle pasting operations.
- var oOnKeyDown = function( e )
- {
- var bPrevent ;
- if ( e.ctrlKey && !e.shiftKey && !e.altKey )
- {
- switch ( e.which )
- {
- case 66 : // B
- case 98 : // b
- FCK.ExecuteNamedCommand( 'bold' ) ; bPrevent = true ;
- break;
- case 105 : // i
- case 73 : // I
- FCK.ExecuteNamedCommand( 'italic' ) ; bPrevent = true ;
- break;
- case 117 : // u
- case 85 : // U
- FCK.ExecuteNamedCommand( 'underline' ) ; bPrevent = true ;
- break;
- case 86 : // V
- case 118 : // v
- bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ;
- break ;
- }
- }
- else if ( e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 45 ) // SHIFT + <INS>
- bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ;
- if ( bPrevent )
- {
- e.preventDefault() ;
- e.stopPropagation() ;
- }
- }
- this.EditorDocument.addEventListener( 'keypress', oOnKeyDown, true ) ;
- this.ExecOnSelectionChange = function()
- {
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
- this.ExecOnSelectionChangeTimer = function()
- {
- if ( FCK.LastOnChangeTimer )
- window.clearTimeout( FCK.LastOnChangeTimer ) ;
- FCK.LastOnChangeTimer = window.setTimeout( FCK.ExecOnSelectionChange, 100 ) ;
- }
- this.EditorDocument.addEventListener( 'mouseup', this.ExecOnSelectionChange, false ) ;
- // On Gecko, firing the "OnSelectionChange" event on every key press started to be too much
- // slow. So, a timer has been implemented to solve performance issues when tipying to quickly.
- this.EditorDocument.addEventListener( 'keyup', this.ExecOnSelectionChangeTimer, false ) ;
- this._DblClickListener = function( e )
- {
- FCK.OnDoubleClick( e.target ) ;
- e.stopPropagation() ;
- }
- this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ;
- // Reset the context menu.
- FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ;
- FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ;
- }
- FCK.MakeEditable = function()
- {
- this.EditingArea.MakeEditable() ;
- }
- // Disable the context menu in the editor (outside the editing area).
- function Document_OnContextMenu( e )
- {
- if ( !e.target._FCKShowContextMenu )
- e.preventDefault() ;
- }
- document.oncontextmenu = Document_OnContextMenu ;