【问题标题】:jTemplates escape {$jTemplates 转义 {$
【发布时间】:2009-08-06 12:02:00
【问题描述】:

有没有办法让 jTemplates 转义 {$,所以我可以在我的 onBlur 中使用内联 javascript

<a href="http://www.telegraaf.nl" onclick="if ( a ) {$('#something').css    ('display','none');alert('some msg');}">telegraaf</a>

在 processTemplate 之后得到这个:

<a onclick="if ( a ) " href="http://www.telegraaf.nl">

谢谢, 亨克

【问题讨论】:

    标签: jquery jtemplate


    【解决方案1】:

    jTemplates 有一个 {#literal} ... {#/literal} 标签,可以防止你的花括号受到影响。

    <a href="http://www.telegraaf.nl" onclick="{#literal}if ( a ) {$('#something').css    ('display','none');alert('some msg');}{#/literal}">telegraaf</a>
    

    【讨论】:

    • 感谢您回答问题,而不是告诉我更好的方法来做某事。我知道有更好的方法,但有时这不是一个选择!这正是我所需要的,摆脱大量串联的字符串并将这些东西放在模板中!!!
    【解决方案2】:

    实际上,在我看来,我认为最好不显眼地附加事件:

    $(function () {
        $(".alink").click(function () {
            //if ( a ) {
                $('#something').css('display','none');
                alert('some msg');
            //}   
        });
    });
    
    <a class="alink" href="http://www.telegraaf.nl">
    

    【讨论】:

    • 我的问题是我有一个旧项目,里面装满了 c= ">input id ="; c+=其他东西;等等等等。这持续了很多行代码我想把所有这些 html 放在模板中,重写所有内容不是一个选项(花费太多时间)
    • 是的,我明白了;我只是向您提供了我的意见,但是是的,我了解有时某些情况会妨碍提高代码质量
    【解决方案3】:

    如果您使用的是 jQuery,那么 $ 本质上只是说 jQuery(expression) 的快捷方式,所以在您的情况下,您可以使用:

    <a href="http://www.telegraaf.nl" onclick="if ( a ) {jQuery('#something').css    ('display','none');alert('some msg');}">telegraaf</a>
    

    您可以在http://docs.jquery.com/%24阅读选择器快捷方式

    【讨论】:

    • 抱歉,我知道,但 jTemplates 仍然不喜欢 {
    【解决方案4】:

    如果您不想将 JS 移动到单独的部分或外部文件,那么您可以随时使用 jQuery "keyword" 而不是 $

    <a href="http://www.telegraaf.nl" onclick="if( a ) {jQuery('#something').css('display','none');alert('some msg');}">telegraaf</a>
    

    这样$ 不会被解释为模板变量。

    【讨论】:

    • 抱歉,我知道,但 jTemplates 仍然不喜欢 {
    【解决方案5】:
    var test = function(el) {
       if ( a ) {
          $('#something').css('display','none');
          alert('some msg');
        }   
    });
    
    <a onclick="test(this);" href="http://www.telegraaf.nl">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多