如何阻止jQueryUI把pre标签内的元素也给初始化了?

一段想用SyntaxHighlighter高亮的代码,却被jQueryUI给初始化了

这段是想展示的代码

<pre class="brush: xml">
    <div class="area">
	<div class="buttonset">
	    <input type="radio" id="unit-1" name="unit" checked="checked" /><label for="unit-1">天</label>
	    <input type="radio" id="unit-2" name="unit" /><label for="unit-2">小时</label>						
	</div>
    </div>
</pre>

网页中包含如下正常的初始化脚本

$('.buttonset').buttonset();

这段初始化JS,怎么连<pre>标签内部的元素也给我处理了,这怎么办?

阅读 4.1k
1 个回答

方案一:

SyntaxHighlighter.all();
setTimeout(function(){
    $('.buttonset').buttonset();
}, 0);

方案二(推荐方案):
使用<script type="syntaxhighlighter" />来避免演示代码被执行和转义

<script type="syntaxhighlighter" class="brush: js"><![CDATA[
  /**
   * SyntaxHighlighter
   */
  function foo()
  {
      if (counter <= 10)
          return;
      // it works!
  }
]]></script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题