我搜索了很多以限制 TinyMCE 中的字符,但没有任何效果!如果用户输入超过 500 个字符,我如何创建消息框?
问问题
2005 次
2 回答
1
知道了!新版本使用 ed.on("KeyDown", function(ed,evt) { 而不是 ed.onKeyDown.add(function(ed, evt) {
所以函数变为:
setup : function(ed) {
var max_tekens = <?php echo $max_aantal_tekens_excl_opmaak; ?>;
var beschikbaar_voor_opmaak = <?php echo ($max_aantal_tekens_incl_opmaak -
$max_aantal_tekens_excl_opmaak); ?>;
ed.on("KeyDown", function(ed,evt) {
aantal_tekens_zonder_opmaak = tinyMCE.activeEditor.getContent().replace(/(<
([^>]+)>)/ig,"").length;
aantal_tekens_met_opmaak = tinyMCE.activeEditor.getContent().length;
var key = ed.keyCode;
$('#omschrijving_wijzigen_tekens').html(max_tekens - aantal_tekens_zonder_opmaak);
if (aantal_tekens_met_opmaak > (max_tekens+beschikbaar_voor_opmaak)){
alert('U hebt het maximaal aantal tekens nog niet helemaal bereikt, maar u gebruikt veel opmaak dat ook ruimte kost. Verwijder tekens of gebruik minder opmaak (vet, cursief, ondertrepen).');
ed.stopPropagation();
ed.preventDefault();
}
else if (aantal_tekens_zonder_opmaak > max_tekens-1 && key != 8 && key != 46){
alert('U hebt het maximaal aantal tekens bereikt.');
ed.stopPropagation();
ed.preventDefault();
}
else if(aantal_tekens_zonder_opmaak > (max_tekens - 25)){
$('#omschrijving_wijzigen_max_tekens').css('color','red');
}
else {
$('#omschrijving_wijzigen_max_tekens').css('color','gray');
}
});
}
于 2013-05-20T09:50:14.503 回答
0
使用 TinyMCE 4,您可以挂钩 on change 事件:
$(document).on('tinymce:changed', function() {
content = tinyMCE.activeEditor.getContent();
// check length of content and do whatever you want
});
于 2013-05-18T19:35:03.467 回答