CanJS点击事件不起作用

时间:2012-11-10 11:18:00

标签: javascript-events mouseclick-event canjs canjs-control

我正在为我的项目使用CanJS(一个js框架)。但我有一个问题。

我在book.js中编写了一些代码如下:

Book = can.Model({
    create: 'POST site/book'
},{});

Books = can.Control({

        '.gotoPrevPage click' : function(){
            b= new Book({name:"newbook1"});
            b.save();
        }
});

而且,我的html文件如下:

...
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/can.jquery-1.0.7.min.js"></script>
<script type="text/javascript" src="js/book.js"></script>
...
<div class="twopageDoc">

    <div class="gotoPrevPage"></div>

    <div class="leftPage">

        <img src="images/1.jpg" />

    </div>

    <div class="rightPage">

        <img src="images/2.jpg" />

    </div>

    <div class="gotoNextPage"></div>

</div>
...

现在,当我点击div与类“gotoPrevPage”事件不起作用,我没有看到任何错误。但是当我使用Chrome控制台并记下上述事件的2行代码时,POST就完成了它的工作原理。我不知道原因。

1 个答案:

答案 0 :(得分:4)

从您的代码看起来您​​没有初始化控制器。您应该在DOM元素上创建Books的实例:

new Books('.twpopageDoc')