Custom handlers
For integration with WysiBB site provides the ability to attach its functions to handle key press. To do this, create a handler function and attach it to BB code.
<script>
var myfunc = function(command,value,queryState) {
// command - BBcode name
// value - value
// queryState - is currently BBcode active
//this.wbbInsertCallback(command,value) // Insert values into the editor, value - to insert the parameters
//this.wbbRemoveCallback(command); // delete the current BB code preserving content
//this.wbbRemoveCallback(command,true) - BB code deletes the current contents with
//this.showModal.call(this,command,opt.modal,queryState); //Show a modal window through WysiBB
//opt.modal.call(this,command,opt.modal,queryState); //Display custom modal window
//In our example, we insert a quote
this.wbbInsertCallback(command,{AUTHOR:"WysiBB",SELTEXT:"Quote text"})
//If you do not specify a value seltext - will be taken the currently selected text
}
$(document).ready(function() {
var wbbOpt = {
buttons: "myimg",
allButtons: {
quote: {
title: "Insert quote",
buttonText: 'myquote',
buttonHTML: false,
hotkey: 'ctrl+e',
cmd: myfunc, //Custom handler
transform: {
'<div class="quote"><cite>{AUTHOR} wrote:</cite>{SELTEXT}</div>':'[quote={AUTHOR}]{SELTEXT}[/quote]'
}
}
}
}
$("#editor").wysibb(wbbOpt);
});
</script>
.....
<textarea id="editor"></textaera>
The result of this configuration: