我正在使用prettify,我想知道我是否可以将其与任何code
块一起使用,而不需要prettyprint
类。
否则,我如何动态地附加类prettyprint
,也许使用jquery。我想要实现的是类似于堆栈溢出,其中在编辑器中键入的代码将在预览和输出中“非常打印”。
我试过
$("#main").delegate("code", "ready", function() {
// this does not seem to run at all?
// intending to add the prettyprint class here
});
答案 0 :(得分:2)
$(document).ready(function(){ $('code').addClass('prettyprint'); });
$(document).ready(<func>)
运行<func>
。$('code')
选择所有代码标记。.addClass()
将指定的类添加到传递的任何元素中(在本例中为所有code
标记)。答案 1 :(得分:0)
我不认为delegate()
在这里是必要的。您只需要不时执行prettyPrint()
来评估预览。一种解决方案可能是使用setInterval
在每x秒后应用Prettify。这是一个简单的例子:
$('textarea').bind('keyup', function(e) {
val = this.value.replace(/<code>/gi, '<code class="prettyprint">');
$('#preview').html(val);
});
setInterval(function(){ prettyPrint(); }, 10000);
这将每10秒执行一次prettyPrint()
。这不是我称之为完美的东西,但我认为它符合你的要求。如果用户在一段时间内没有输入任何内容,您可能还想清除间隔,但我希望这足以让您朝着正确的方向前进。