j模板逃脱{$

时间:2009-08-06 12:02:00

标签: jquery jtemplate

有没有办法让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">

谢谢, 亨克

5 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:3)

实际上,在我看来,我认为最好不引人注意地附上这个事件:

$(function () {
    $(".alink").click(function () {
        //if ( a ) {
            $('#something').css('display','none');
            alert('some msg');
        //}   
    });
});

<a class="alink" href="http://www.telegraaf.nl">

答案 2 :(得分:-1)

如果您正在使用jQuery,那么$实际上只是说jQuery(表达式)的快捷方式,所以在您的情况下您可以使用:

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

您可以阅读http://docs.jquery.com/%24

上的选择器快捷方式

答案 3 :(得分:-1)

如果您不想将JS移动到单独的secion或外部文件,那么您始终可以使用jQuery“keyword”代替$

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

这种方式$不会被解释为模板变量。

答案 4 :(得分:-2)

var test = function(el) {
   if ( a ) {
      $('#something').css('display','none');
      alert('some msg');
    }   
});

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