任何专家都可以回复
到目前为止,我对JOOMLA编辑器的了解是
它属于微小的MCE
它使用iframe和令人满意的身体标签。
现在我要做的是将keyup事件附加到iframe的主体。但不成功。我试过的是如下。
myEditorField_ifr
是我通过Google检查元素方法计算的iframe的ID,尽管myEditorField
是我使用JFORM方法分配的ID。
方法1
$('#myEditorField_ifr').contents().find('body').on('keyup',function(e) {
alert('bingo?');
});
unsuccessful
以及使用我的另一个iframe的跟随方法也无法使用tinyMCE
方法2
$('.#myEditorField_ifr').load(function(){
alert("hello");
aaa= $('.#myEditorField_ifr').contents().find('body').on('keyup',function(e) {
alert('bingo?');
});
})
通过这种方法甚至不会执行警报。是否有editor->setcontent
和editor->getcontent
等任何方法将事件附加到TinyMCE ???
还有一个小问题是这种类型的编辑器可以在不使用iframe的情况下实现,但为什么tinyMCE正在使用iframe ???
答案 0 :(得分:0)
答案 1 :(得分:0)
问题是我的脚本在编辑器完全加载之前正在执行。我仍然无法弄清楚为什么.load()不能与MCE一起工作,但.load()在我测试的其他iframe上成功运行。
所以我做的是我发了一个click事件,并且.keyup()通过该函数附加到iframe body。在我的情况下,这种情况是可以容忍和可行的,但可能不适合你的情况。
所以下面是一大块完美运行的代码,并在JOOMLA编辑器中的每个键盘上显示警报。
$(".myDoButton").on("click",function(){
aaa= $('.myPreviewEditor iframe').contents().find('body').keyup(function(){
alert("hoklo");
});
虽然这只是一个临时解决方案。