Javascript summernote获取我的id文本区
我在引导上使用summernote自定义按钮,用于以下操作:Javascript summernote获取我的id文本区,javascript,summernote,Javascript,Summernote,我在引导上使用summernote自定义按钮,用于以下操作: 单击自定义按钮(完成) 使用ajax内容打开模式(完成) 用户选择了一个项目(完成) 模态调用回调按钮参数和关闭(完成) 函数回调在textarea中插入链接(完成) 那么,怎么了 我想在回调函数中获取textareaid,以便动态(参见最后一个函数) 问题:我可以从上下文中获取textarea id吗?用另一种方法?(我在console.log(context)中找不到它;) 问题2:如何获取光标位置?我的链接被添加到第一个位置
- 单击自定义按钮(完成)
- 使用ajax内容打开模式(完成)
- 用户选择了一个项目(完成)
- 模态调用回调按钮参数和关闭(完成)
- 函数回调在textarea中插入链接(完成)
var summernote = {
run: function(id, type) {
if(type && type === 'full') {
this.full(id);
} else {
this.simple(id);
}
},
simple: function(id) {
// todo
},
full: function(id) {
var summernote_params = { height:300,
lang: 'fr-FR',
toolbar: [
['misc', ['undo', 'redo']],
['style', ['bold', 'italic', 'underline', 'clear']],
['font', ['superscript', 'subscript']],
['para', ['ul', 'ol']],
['mybuttons', ['docimage', 'docdocument']],
],
buttons: {
docimage: summernote.docImage,
docdocument: summernote.docDocument,
},
};
$('#'+id).summernote(summernote_params);
},
docImage: function(context) {
var ui = $.summernote.ui;
var button = ui.button({
contents: '<i class="fa fa-file-image-o"></i>',
tooltip: 'Insert image',
click: function () {
documents.run({filter:'image', callback:[summernote.docImageCallback, context]});
}
});
return button.render();
},
docImageCallback: function(context, doc) {
context.invoke('editor.insertImage', doc.url);
},
docDocument: function(context) {
var ui = $.summernote.ui;
var button = ui.button({
contents: '<i class="fa fa-file-o"></i>',
tooltip: 'Insert file',
click: function () {
documents.run({filter:'document', callback:[summernote.docDocumentCallback, context]});
}
});
return button.render();
},
docDocumentCallback: function(context, doc) {
// here i want to get id dynamically
$('#description').summernote('createLink', {
text: doc.name,
url: doc.url,
newWindow: true
});
},
}
var summernote={
运行:函数(id、类型){
如果(类型&&type==='full'){
这是完整的(id);
}否则{
这个。简单(id);
}
},
简单:函数(id){
//待办事项
},
完整:功能(id){
var summernote_params={高度:300,
朗:“fr fr”,
工具栏:[
['misc'、['undo'、'redo'],
['style'、['bold'、'italic'、'underline'、'clear'],
['font',['superscript','subscript']],
[para'、[ul'、[ol'],
['mybuttons',['docimage','docdocument']],
],
按钮:{
docimage:summernote.docimage,
docdocument:summernote.docdocument,
},
};
$('#'+id).summernote(summernote_参数);
},
docImage:函数(上下文){
var ui=$.summernote.ui;
var button=ui.button({
内容:'',
工具提示:“插入图像”,
单击:函数(){
运行({filter:'image',回调:[summernote.docImageCallback,context]});
}
});
返回按钮。render();
},
docImageCallback:函数(上下文,doc){
invoke('editor.insertImage',doc.url);
},
docDocument:函数(上下文){
var ui=$.summernote.ui;
var button=ui.button({
内容:'',
工具提示:“插入文件”,
单击:函数(){
运行({filter:'document',回调:[summernote.docDocumentCallback,context]});
}
});
返回按钮。render();
},
docDocumentCallback:函数(上下文,文档){
//这里我想动态地获取id
$(“#说明”).summernote('createLink'{
文本:doc.name,
url:doc.url,
新窗口:是的
});
},
}
电话呢
<textarea id="description"></textarea>
<script>
summernote.run('description', 'full');
</script>
summernote.run('description','full');
因此我为每个问题找到了解决方案
init中的参数是上下文中的sendend。要在上下文中获取id,我只需将其添加到init中:
var summernote = {
...
full: function(id) {
var summernote_params = { id: id, // <-- set id in context, (cutsom data)
height: 300,
lang: 'fr-FR',
toolbar: [
['misc', ['undo', 'redo']],
['style', ['bold', 'italic', 'underline', 'clear']],
['font', ['superscript', 'subscript']],
['para', ['ul', 'ol']],
['mybuttons', ['docimage', 'docdocument']],
],
buttons: {
docimage: summernote.docImage,
docdocument: summernote.docDocument,
},
};
$('#'+id).summernote(summernote_params);
},
...
docDocumentCallback: function(context, doc) {
var id = context.options.id; // <-- get id from context
$('#'+id).summernote('createLink', {
text: doc.name,
url: doc.url,
newWindow: true
});
},
}
var summernote={
...
完整:功能(id){
var summernote_params={id:id//
var summernote = {
...
docDocument: function(context) {
var ui = $.summernote.ui;
var button = ui.button({
contents: '<i class="fa fa-file-o"></i>',
tooltip: app_i18n.summernote_document,
click: function () {
context.invoke('editor.saveRange'); // <-- save position cursor
documents.run({filter:'document', callback:[summernote.docDocumentCallback, context]});
}
});
return button.render();
},
docDocumentCallback: function(context, doc) {
context.invoke('editor.restoreRange'); // <-- set position cursor to the last save
if(context.options.id) {
$('#'+context.options.id).summernote('createLink', {
text: doc.name,
url: doc.url,
newWindow: true
});
}
},
}