| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | angular.module('kityminderEditor')    .controller('imExportNode.ctrl', function ($scope, $modalInstance, title, defaultValue, type) {        $scope.title = title;        $scope.value = defaultValue;        $scope.type = type;        $scope.ok = function () {            if ($scope.value == '') {                return;            }            $modalInstance.close($scope.value);            editor.receiver.selectAll();        };        $scope.cancel = function () {            $modalInstance.dismiss('cancel');            editor.receiver.selectAll();        };        setTimeout(function() {            $('.single-input').focus();            $('.single-input')[0].setSelectionRange(0, defaultValue.length);        }, 30);        $scope.shortCut = function(e) {            e.stopPropagation();            //if (e.keyCode == 13 && e.shiftKey == false) {            //    $scope.ok();            //}            if (e.keyCode == 27) {                $scope.cancel();            }            // tab 键屏蔽默认事件 和 backspace 键屏蔽默认事件            if (e.keyCode == 8 && type == 'export') {                e.preventDefault();            }            if (e.keyCode == 9) {                e.preventDefault();                var $textarea = e.target;                var pos = getCursortPosition($textarea);                var str = $textarea.value;                $textarea.value = str.substr(0, pos) + '\t' + str.substr(pos);                setCaretPosition($textarea, pos + 1);            }        };        /*        * 获取 textarea 的光标位置        * @Author: Naixor        * @date: 2015.09.23        * */        function getCursortPosition (ctrl) {            var CaretPos = 0;	// IE Support            if (document.selection) {                ctrl.focus ();                var Sel = document.selection.createRange ();                Sel.moveStart ('character', -ctrl.value.length);                CaretPos = Sel.text.length;            }            // Firefox support            else if (ctrl.selectionStart || ctrl.selectionStart == '0') {                CaretPos = ctrl.selectionStart;            }            return (CaretPos);        }        /*         * 设置 textarea 的光标位置         * @Author: Naixor         * @date: 2015.09.23         * */        function setCaretPosition(ctrl, pos){            if(ctrl.setSelectionRange) {                ctrl.focus();                ctrl.setSelectionRange(pos,pos);            } else if (ctrl.createTextRange) {                var range = ctrl.createTextRange();                range.collapse(true);                range.moveEnd('character', pos);                range.moveStart('character', pos);                range.select();            }        }    });
 |