首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Haml中包含内联JavaScript?

如何在Haml中包含内联JavaScript?
EN

Stack Overflow用户
提问于 2012-03-17 04:35:10
回答 3查看 112.3K关注 0票数 123

我怎么才能写出这样的东西来包含在模板中,而不是包含在Haml中?

代码语言:javascript
复制
<script>
$(document).ready( function() {
  $('body').addClass( 'test' );
} );
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-17 04:37:44

代码语言:javascript
复制
:javascript
    $(document).ready( function() {
      $('body').addClass( 'test' );
    } );

文档:http://haml.info/docs/yardoc/file.REFERENCE.html#javascript-filter

票数 250
EN

Stack Overflow用户

发布于 2014-09-18 15:40:49

您实际上可以像Chris Chalmers在他的回答中所做的那样做,但是您必须确保HAML不会解析JavaScript。当您需要使用不同于text/javascript的类型时,这种方法实际上很有用,这正是我在MathJax中需要做的。

您可以使用plain过滤器来防止HAML解析脚本并抛出非法的嵌套错误:

代码语言:javascript
复制
%script{type: "text/x-mathjax-config"}
  :plain
    MathJax.Hub.Config({
      tex2jax: {
        inlineMath: [["$","$"],["\\(","\\)"]]
      }
    });
票数 26
EN

Stack Overflow用户

发布于 2013-05-16 02:25:34

所以我尝试了上面的:javascript,它是有效的:)然而,HAML将生成的代码包装在CDATA中,如下所示:

代码语言:javascript
复制
<script type="text/javascript">
  //<![CDATA[
    $(document).ready( function() {
       $('body').addClass( 'test' );
    } );
  //]]>
</script>

下面的HAML将生成包含(例如) typekit或google分析代码的典型标记。

代码语言:javascript
复制
 %script{:type=>"text/javascript"}
  //your code goes here - dont forget the indent!
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9744169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档