fckselection_ie.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: fckselection_ie.js
- * Active selection functions. (IE specific implementation)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
- // Get the selection type.
- FCKSelection.GetType = function()
- {
- return FCK.EditorDocument.selection.type ;
- }
- // Retrieves the selected element (if any), just in the case that a single
- // element (object like and image or a table) is selected.
- FCKSelection.GetSelectedElement = function()
- {
- if ( this.GetType() == 'Control' )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- if ( oRange && oRange.item )
- return FCK.EditorDocument.selection.createRange().item(0) ;
- }
- }
- FCKSelection.GetParentElement = function()
- {
- switch ( this.GetType() )
- {
- case 'Control' :
- return FCKSelection.GetSelectedElement().parentElement ;
- case 'None' :
- return ;
- default :
- return FCK.EditorDocument.selection.createRange().parentElement() ;
- }
- }
- FCKSelection.SelectNode = function( node )
- {
- FCK.Focus() ;
- FCK.EditorDocument.selection.empty() ;
- try
- {
- // Try to select the node as a control.
- var oRange = FCK.EditorDocument.body.createControlRange() ;
- oRange.addElement( node ) ;
- }
- catch(e)
- {
- // If failed, select it as a text range.
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.moveToElementText( node ) ;
- }
- oRange.select() ;
- }
- FCKSelection.Collapse = function( toStart )
- {
- FCK.Focus() ;
- if ( this.GetType() == 'Text' )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.collapse( toStart == null || toStart === true ) ;
- oRange.select() ;
- }
- }
- // The "nodeTagName" parameter must be Upper Instance.
- FCKSelection.HasAncestorNode = function( nodeTagName )
- {
- var oContainer ;
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- oContainer = this.GetSelectedElement() ;
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oContainer = oRange.parentElement() ;
- }
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName ) return true ;
- oContainer = oContainer.parentNode ;
- }
- return false ;
- }
- // The "nodeTagName" parameter must be UPPER CASE.
- FCKSelection.MoveToAncestorNode = function( nodeTagName )
- {
- var oNode ;
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- for ( i = 0 ; i < oRange.length ; i++ )
- {
- if (oRange(i).parentNode)
- {
- oNode = oRange(i).parentNode ;
- break ;
- }
- }
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oNode = oRange.parentElement() ;
- }
- while ( oNode && oNode.nodeName != nodeTagName )
- oNode = oNode.parentNode ;
- return oNode ;
- }
- FCKSelection.Delete = function()
- {
- // Gets the actual selection.
- var oSel = FCK.EditorDocument.selection ;
- // Deletes the actual selection contents.
- if ( oSel.type.toLowerCase() != "none" )
- {
- oSel.clear() ;
- }
- return oSel ;
- }