我有一个用于编辑CSS代码的textarea。它已使用以下代码初始化:
if($.cookie("autocomplete")) {
$("#autocomplete").prop('checked', true);
autocomplete = false;
} else {
autocomplete = true;
}
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
scrollbarStyle: "simple",
indentUnit: 4,
matchBrackets: true,
hint: true,
autohint: true,
completeSingle: autocomplete,
lint: false,
showCursorWhenSelecting: true,
extraKeys: {"Ctrl-Space": "autocomplete"},
mode: "text/x-scss"
});
$(document).on('click', "#autocomplete", function(e) {
if($(this).is(":checked")) {
$.cookie("autocomplete", true);
CodeMirror.refresh();
} else {
$.cookie("autocomplete", false);
CodeMirror.refresh();
}
});
这在页面加载时工作正常,因为它会检查是否为completeSingle
设置了一个cookie来打开或关闭。我创建了一个选择器,因此用户可以在completeSingle
之间切换为true或false。用户选中或取消选中该复选框后,应重新初始化编辑器,而无需重新加载页面。
这可能吗?