1

我正在使用 Prettify 进行语法高亮显示,但它不适用于动态生成的代码。

我有一个表单,提交时会生成代码并在 中显示(不刷新)<div id="output></div>,但 prettify 不适用于此代码,有什么解决方法吗?

非常感谢!

4

2 回答 2

1

http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify有一个很好的解决方案。

简而言之:

  • 监听事件:用户处于非活动状态 X 秒(按键后)
  • 运行美化功能prettyPrint()
  • (如果用户在 X 秒之前开始输入,则不要运行 Prettify)

.

$(document).ready(function() {
  $('#mytextarea').keydown(function() {
    $(this).stopTime();
    $(this).oneTime(1000, function() { 
      /* launch the Prettify here */
    });
  });
});

从http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify复制的代码

于 2010-12-06T11:12:41.253 回答
1

确保在加载新代码后调用 Prettify。

您需要向“提交”事件添加一个处理程序。不知道你用的是框架还是原生JS,所以不能给出代码示例。

于 2010-04-12T18:08:59.660 回答