Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS ng使用ctrl+单击在新选项卡中更改打开链接_Javascript_Angularjs_Codemirror - Fatal编程技术网

Javascript AngularJS ng使用ctrl+单击在新选项卡中更改打开链接

Javascript AngularJS ng使用ctrl+单击在新选项卡中更改打开链接,javascript,angularjs,codemirror,Javascript,Angularjs,Codemirror,我已经创建了一个JSFIDLE 但是我不知道如何实现ctrl+单击选择选项 在调用retrieveSelectedClass后的项目js文件中,我有一些http请求从服务器端获取数据并在ui中显示。我正在使用一个库来显示代码Codemirror HTML 在我的RetrieveSelected类中,它将如何在新选项卡中打开相同的html页面,并且选择菜单中已经选择了选项值 但我无法理解如何在按住ctrl键的同时单击“选择值”选项,使其在新选项卡中打开,并在“选择”下拉列表中选择文件名,文本区域显

我已经创建了一个JSFIDLE

但是我不知道如何实现ctrl+单击选择选项

在调用retrieveSelectedClass后的项目js文件中,我有一些http请求从服务器端获取数据并在ui中显示。我正在使用一个库来显示代码Codemirror

HTML

在我的RetrieveSelected类中,它将如何在新选项卡中打开相同的html页面,并且选择菜单中已经选择了选项值


但我无法理解如何在按住ctrl键的同时单击“选择值”选项,使其在新选项卡中打开,并在“选择”下拉列表中选择文件名,文本区域显示检索到的类的主体?

您试图实现什么?要在“选择”中的值已更改时打开新选项卡吗?是的,我希望在新选项卡中按住ctrl键并单击时打开所选选项,并且选择选项应已在新选项卡的“选择”下拉列表中选中。出于安全目的,您无法在用户浏览器上打开新选项卡。想象一下那些可疑的网站打开了100个标签,哈哈。这里有一个有很多信息的网站。
        var data = {
            apexClassName: $scope.selectedName.name
        };
        var config = {
            params: data
        };
        $http.get("/getApexBody", config).then(getApexBodyCallback, getApexBodyErrorCallback);

        function getApexBodyCallback(response) {
            if (response.data) {
                $scope.apexClassWrapper = response.data;
                if (globalEditor1) {
                    globalEditor1.toTextArea();
                }
                setTimeout(function(test) {
                    var editor = CodeMirror.fromTextArea(document.getElementById('apexBody'), {
                        lineNumbers: true,
                        matchBrackets: true,
                        styleActiveLine: true,
                        extraKeys: {
                            ".": function(editor) {
                                setTimeout(function() {
                                    editor.execCommand("autocomplete");
                                }, 100);
                                throw CodeMirror.Pass; // tell CodeMirror we didn't handle the key
                            }
                        },
                        gutters: ["CodeMirror-lint-markers"],
                        lint: true,
                        mode: "text/x-apex"
                    });
                    editor.markClean();
                    editor.on("keyup", function(cm, event) {
                        var keyCode = event.keyCode || event.which;
                        if (!ExcludedIntelliSenseTriggerKeys[(event.keyCode || event.which).toString()]) {
                            if (timeout) clearTimeout(timeout);
                            timeout = setTimeout(function() {
                                editor.showHint({
                                    hint: CodeMirror.hint.auto,
                                    completeSingle: false
                                });
                            }, 150);
                        }
                    });
                    globalEditor1 = $('.CodeMirror')[0].CodeMirror;
                }), 2000
                document.getElementById('saveBtn').style.visibility = 'visible';
                $scope.isPaneShown = false;
            }
        }
<div id="container">
    <select ng-model="selectedName" ng-change="retrieveSelectedClass(selectedName, '{{selectedName}}')" ng-options="item.name group by item.groupName for item in names"
            class="code-helper" id="code-helperId">
        <option value="">Select Option</option>
    </select>
</div>
<div style="padding: 1px; position: absolute; margin: 0px; left: 0px; right: 0px; top: 30px; bottom: 30px; width: 100%; height: auto; " loading-pane="isPaneShown">
<textarea ng-model="apexClassWrapper.body" id="apexBody" name="apexBody" style="display: none;" readonly="true">{{apexClassWrapper.body}}</textarea>

</div>
if ($window.event.ctrlKey) {}