SCEditor:使用快捷方式提交表单Ctrl + Enter - 如何获取实例的父级?

时间:2014-10-27 14:27:28

标签: javascript jquery wysiwyg

我的网站上有多个带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
}

我的目标是在sivitor DIV之前得到兄弟姐妹,这是textarea。从那里我可以找到提交按钮。或者我可以向下看DOM树并找到textarea / sceditor嵌套的形式。

然而,console.log(this);给出了案例1:节点的HTML,i。即在Webdeveloper控制台中,我可以看到sceditor的HTML。对于案例2,我收到了sceditor对象。

问题是我无法访问父级。同样在sceditor docs我认为没办法做到这一点。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

添加快捷键处理程序时,您知道要添加处理程序的textarea,以便执行以下操作:

$('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/