使用jQuery我试图操纵WordPress内容编辑器,它在iframe中使用TinyMCE.我似乎无法使以下代码按预期工作:
jQuery(document).ready(function($) {
$('#content_ifr').ready(function() {
$('#content_ifr').contents().find('body').css('background-color', '#f33');
});
Run Code Online (Sandbox Code Playgroud)
无论我使用".ready()"还是".load()",事件都会在TinyMCE编辑器(iframe的主体)完全加载之前触发.
但是,如果我在手动单击标题文本框以触发click事件之前等待iframe加载,则以下代码将起作用:
jQuery(document).ready(function($) {
$('#title').click(function() {
$('#content_ifr').contents().find('body').css('background-color', '#f33');
});
Run Code Online (Sandbox Code Playgroud)
我已经详细搜索了jQuery和iFrames这个主题,看起来根据具体情况来看,它很受欢迎.有些代码适用于某些人,而不适用于其他人.
有没有人知道在TinyMCE iframe主体完全加载后获取第一个代码片段的方法?因为它只是WordPress内容编辑器,所以iframe内容位于同一个域中.
我真正想做的是通过.addClass()向iframe中的body元素添加一个类
jQuery(document).ready(function($) {
$('#content_ifr').ready(function() {
$('#content_ifr').contents().find('body').addClass('ui-droppable');
});
Run Code Online (Sandbox Code Playgroud)
这样我就可以在下面的教程中应用drag n'drop代码:
http://skfox.com/2008/11/26/jquery-example-inserting-text-with-drag-n-drop/