【问题标题】:TinyMCE - jquery - cant' capture click in editor iframeTinyMCE - jquery - 无法在编辑器 iframe 中捕获点击
【发布时间】:2013-02-11 14:28:48
【问题描述】:

我为 tinyMCE 编写了简单的插件,让我可以设置选项卡和选项卡的内容,从而生成如下所示的 html:

<div class="tabs">
<nav class="content_menu">
    <ul>
        <li><a href="#tab-Tab1-0">Tab 1</a></li>
        <li><a href="#tab-Tab2-1">Tab 2</a></li>
    </ul>
</nav>
<div class="switcher">
    <div id="tab-Tab1-0">
        <article class="wide switch">
            Content 1
            <div style="clear: both;"></div>
        </article>
    </div>
    <div id="tab-Tab2-1">
        <article class="wide switch">
            Content 2
            <div style="clear: both;"></div>
        </article>
    </div>
</div>

我需要的是让管理员用户像在前端一样点击标签。 处理前端切换标签的代码:

$(document).ready(function() {
    $('.tabs').on('hover', 'a', function(e) {
        e.preventDefault();

        $('nav.content_menu li').removeClass('selected');
        $(this).parent().addClass('selected');

        $('.switcher div').hide();
        $($(this).attr('href')).show();
    });
});

我通过编辑小 mce 源手动添加了这个 js 和 jquery:

t.iframeHTML += '<script type="text/javascript" src="/assets/js/jquery-1.9.0.min.js"></script>'
t.iframeHTML += '<script type="text/javascript" src="/assets/js/tinymce-kb.js"></script>'

但是点击事件没有被 jquery 捕获。但是我可以在 $(document).ready 上进行 console.log 或警报,但单击选项卡不会触发编写的 jquery 函数。

我认为 tinyMCE 在 jquery 之前处理点击,是否可以改变这种行为?

【问题讨论】:

    标签: jquery plugins tinymce handler


    【解决方案1】:

    您应该使用 tinymce 事件onClick

    【讨论】:

    • 没关系,但是你知道如何访问 iframe 中的文档,所以我可以 getElementById 吗?
    • 好的,回答我自己:文档在 ed.contentWindow.document 对象中。
    • 使用 ed.getDoc() 更容易
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多