我的网站上有多个带有textareas的表格。每个textarea都分配了sceditor插件。现在,我试图通过提供快捷方式来提交表单。
首先,我为每个编辑器实例分配了一个keyup方法:
$('textarea[name="test01"]').sceditor('instance').keyUp(function(e) {
if (e.ctrlKey && e.keyCode == 13) {
console.log(this); // case 1
}
// ...
后来我也找到了内置方法:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', submitform);
function submitform() {
console.log(this); // case 2
}
我的目标是让兄弟姐妹进入DIV(即文本区域)之前。从那里我可以找到提交按钮。或者我可以向下看DOM树并找到textarea / sceditor嵌套的形式。
但是,
console.log(this);
给出了情况1:节点的HTML,即。 e。在Webdeveloper控制台中,我可以看到场景编辑器的HTML。对于情况2,我收到了sceditor对象。问题是我无法访问父级。同样在sceditor docs中,我看不到这样做的方法。
谢谢你的帮助。
最佳答案
添加快捷方式处理程序时,您会知道将处理程序添加到哪个文本区域,因此您可以执行以下操作:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', function () {
submitform($('textarea[name="test01"]').get(0).form);
});
function submitform(form) {
console.log(form.id);
}
工作示例:http://jsfiddle.net/5jc6f589/
关于javascript - SCEditor:使用快捷键Ctrl + Enter提交表单-如何获取实例的父级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26589767/