如何使用带有 Codemirror 键绑定的 Ctrl+S 提交表单
How to submit a form using Ctrl+S with Codemirror key bindings
我有一个实现了 Codemirror 的基本形式。我想绑定键 Ctrl + S 来提交表单。我找到了 Codemirror 的 Ctrl + S(extrakeys)功能,但我不知道该放什么。
<form action="action.htm" method="post" id="myform">
<textarea name="editor" id="editor" class="codemirror-area"></textarea>
<button type="submit">Save</button>
</form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("editor"), {
lineNumbers: true,
autoCloseTags: true,
setSize: (200,200),
indentWithTabs: true,
theme: "default",
lineWrapping: true,
extraKeys: {
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
},
"Ctrl-S": function(instance) {
saveText(instance.getValue()); },
}
}
});
</script>
- 如果你想用Codemirror。
var editor = CodeMirror.fromTextArea(document.getElementById("editor"), {
lineNumbers: true,
autoCloseTags: true,
setSize: (200,200),
indentWithTabs: true,
theme: "default",
lineWrapping: true,
extraKeys: {
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
},
"Ctrl-S": function(instance) {
$("#myform").submit();
},
}
});
或替代方法:
- 首先添加jquery库。
- 添加此代码后:
jQuery(document).keydown(function(event) {
if((event.ctrlKey || event.metaKey) && event.which == 83) {
// Save Function
$("#myform").submit();
event.preventDefault();
return false;
}
}
);
这个更好:)
我有一个实现了 Codemirror 的基本形式。我想绑定键 Ctrl + S 来提交表单。我找到了 Codemirror 的 Ctrl + S(extrakeys)功能,但我不知道该放什么。
<form action="action.htm" method="post" id="myform">
<textarea name="editor" id="editor" class="codemirror-area"></textarea>
<button type="submit">Save</button>
</form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("editor"), {
lineNumbers: true,
autoCloseTags: true,
setSize: (200,200),
indentWithTabs: true,
theme: "default",
lineWrapping: true,
extraKeys: {
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
},
"Ctrl-S": function(instance) {
saveText(instance.getValue()); },
}
}
});
</script>
- 如果你想用Codemirror。
var editor = CodeMirror.fromTextArea(document.getElementById("editor"), { lineNumbers: true, autoCloseTags: true, setSize: (200,200), indentWithTabs: true, theme: "default", lineWrapping: true, extraKeys: { "F11": function(cm) { cm.setOption("fullScreen", !cm.getOption("fullScreen")); }, "Esc": function(cm) { if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); }, "Ctrl-S": function(instance) { $("#myform").submit(); }, } });
或替代方法:
- 首先添加jquery库。
- 添加此代码后:
jQuery(document).keydown(function(event) { if((event.ctrlKey || event.metaKey) && event.which == 83) { // Save Function $("#myform").submit(); event.preventDefault(); return false; } } );
这个更好:)