断点和可满足的奇怪行为

firebug: breakpoints and contentEditable odd behaviour

本文关键字:可满足 断点      更新时间:2023-09-26

我有一个contentEditable元素(一个tinyMCE编辑器,实际上);我正在调试我的插件,寻找Firefox特有的bug。

我的代码使用事件侦听器工作,使用:

ed.onKeyDown.addToTop(mycallback);

现在,我的问题是,如果我在按下一个键触发的代码行中放置一个断点,然后单击firebug的"continue"按钮,代码继续,但编辑器丢弃了该键。也就是说,我按了一个键,但它没有出现在编辑器中。如果我删除断点,编辑器可以正常工作。

这只发生在firefox上:Google Chrome可以正常工作。

是否有一个解决方案,使用断点,仍然看到编辑器的工作?

我不知道你是否仍然有这个问题,但是它对我来说工作得很好,使用以下示例在Win7上使用Firefox 13.0.1 + Firebug 1.9.2:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>tinyMCE test</title>
        <script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
        <script type="text/javascript">
        function mycallback() {
          console.log("Key down");
        }
        var ed = new tinymce.Editor("editor", {});
        ed.onKeyDown.addToTop(mycallback);
        ed.render();
        </script>
    </head>
    <body>
        <textarea id="editor">test</textarea>
    </body>
</html>

我的步骤:

  1. 在测试页面打开Firebug
  2. 启用并切换到Script面板
  3. 重新加载页面
  4. 设置断点在第10行(console.log("Key down");)
  5. 在tinyMCE编辑器中输入'a' =>执行在第10行停止
  6. 点击继续按钮
  7. 切换到控制台面板

=>输出"Key down"已登录到控制台面板

我必须承认,我对tinyMCE一无所知,你的描述也不是100%清楚。如果你仍然有这个问题,它会有所帮助,如果你给一个小的测试用例,包括步骤来复制像我做的。