Fue*_*ssi 118 javascript jquery haml
我怎么能写这样的东西包含在模板中,但是在Haml中呢?
<script>
$(document).ready( function() {
$('body').addClass( 'test' );
} );
</script>
Run Code Online (Sandbox Code Playgroud)
bco*_*lan 232
:javascript
$(document).ready( function() {
$('body').addClass( 'test' );
} );
Run Code Online (Sandbox Code Playgroud)
文档:http://haml.info/docs/yardoc/file.REFERENCE.html#javascript-filter
Ale*_*ijk 24
你实际上可以做Chris Chalmers在他的回答中所做的事情,但是你必须确保HAML不会解析JavaScript.当你需要使用不同的类型时,这种方法实际上很有用text/javascript
,这是我需要做的MathJax
.
您可以使用plain
过滤器来防止HAML解析脚本并抛出非法嵌套错误:
%script{type: "text/x-mathjax-config"}
:plain
MathJax.Hub.Config({
tex2jax: {
inlineMath: [["$","$"],["\\(","\\)"]]
}
});
Run Code Online (Sandbox Code Playgroud)
小智 18
所以我尝试了上述:javascript工作:)但是HAML将生成的代码包装在CDATA中,如下所示:
<script type="text/javascript">
//<![CDATA[
$(document).ready( function() {
$('body').addClass( 'test' );
} );
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
以下HAML将生成包含(例如)typekit或google分析代码的典型标记.
%script{:type=>"text/javascript"}
//your code goes here - dont forget the indent!
Run Code Online (Sandbox Code Playgroud)