Javascript 在车把中使用JS

Javascript 在车把中使用JS,javascript,html,handlebars.js,Javascript,Html,Handlebars.js,我正在使用车把模板在一个简单的移动网页与。我制作了一个没有模板引擎的网页原型,效果很好。然后,我研究了一个很好的模板引擎网络,并发现车把 我把我的网页主体嵌入到一个脚本标签中,这样把手就可以工作了。除了swipejs(我用它来制作图像)之外,一切都很好 以下是我的HTMl的摘要版本: <html> <head> <meta name="viewport" content="width=device-width, ini

我正在使用车把模板在一个简单的移动网页与。我制作了一个没有模板引擎的网页原型,效果很好。然后,我研究了一个很好的模板引擎网络,并发现车把

我把我的网页主体嵌入到一个脚本标签中,这样把手就可以工作了。除了swipejs(我用它来制作图像)之外,一切都很好

以下是我的HTMl的摘要版本:

<html>
<head>
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=no" />
    
    <link media="Screen" href="styles.css" type="text/css" rel="stylesheet" />
    <link media="handheld, only screen and (max-width: 480px), only screen and (max-device-width: 480px)" href="css/mobile.css" type="text/css" rel="stylesheet" />

    <script src="scripts/jquery.js"></script>
    <script src="scripts/handlebars.js"></script>
    <script src="scripts/app.js"></script>
    <script src='scripts/swipe.js'></script>
    <!--[if IEMobile]>
    <link rel="stylesheet" type="text/css" href="mobile.css" media="screen" />
    <![endif]-->
</head>
<body>
    <script id="description-script" type="text/x-handlebars-template">
    <h1>Main Title</h1>
    <div id="pictures">
        <div id="slider" class="swipe">
            <div class="swipe-wrap">
                <div><center><img style="width:95%;height:auto;" src="image link 1"/></center></div>
                <div><center><img style="width:95%;height:auto;" src="image link 2"/></center></div>
                <div><center><img style="width:95%;height:auto;" src="image link 3"/></center></div>
            </div>
        </div>
    </div>
    <h2>Description</h2>
        <div id="description">
            {{description}}
    </div>
</script>
<script>
            //swipe script
    window.mySwipe = Swipe(document.getElementById('slider'),
    {
        auto: 3000,
        speed: 300
    });
</script>
</body>

主标题
描述
{{description}}
//滑动脚本
window.mySwipe=Swipe(document.getElementById('slider'),
{
汽车:3000,
航速:300
});

提前谢谢你的帮助。我是否需要使用不同的模板引擎,或者这里是否有我忘记的内容?

在呈现模板后,您可能需要绑定刷卡事件。或者尝试将其绑定到整个“body”元素,而不是#slider

将失败,因为当滑块位于以下脚本标记中时,它将返回null

 <script id="description-script" type="text/x-handlebars-template">

app.js
中呈现
描述脚本后,需要立即将
滑动(…)
代码移动到

比如:

// Compile the template
var template = Handlebars.compile($('#description-script').html());

// Render the template
// This makes the #slider DIV appear in the DOM
var data = { description: 'Photos' };
$('body').append(template(data));

// Start Swipe
window.mySwipe = Swipe($('#slider').get(0), {
   auto: 3000,
   speed: 300
});

请参阅以下JSFIDLE(源自@TommyBs):

渲染后是否尝试绑定刷卡?这把小提琴适合我(请原谅css/样式)
// Compile the template
var template = Handlebars.compile($('#description-script').html());

// Render the template
// This makes the #slider DIV appear in the DOM
var data = { description: 'Photos' };
$('body').append(template(data));

// Start Swipe
window.mySwipe = Swipe($('#slider').get(0), {
   auto: 3000,
   speed: 300
});