我可以在车把助手中使用jquery吗?

时间:2013-06-14 07:05:00

标签: javascript jquery handlebars.js

我正在尝试编写一个把手助手来创建调用javascript方法的按钮。我试图用jQuery事件监听器来做这件事,但它似乎没有起作用。任何人都可以告诉我,如果我不正确地编写了事件监听器,或者它是否无法在车把助手中完成?

这是帮手:

Handlebars.registerHelper('viewBookLink', function(book) {

            $(document).ready(function () { 
                $("#link" + book.bookId).click(function() {
                    myapp.book.getBook(book.bookId);
                });
            });

             return new Handlebars.SafeString("<button class=\"btn btn-link\" id=\"link" + book.bookId + "\">" +
                    book.localizations.en_US.bookName + "</button>");
        });

这是点击应该调用的方法:

book : {
        getBook : function(bookId) {
            alert("tried to get book with id: " + bookId);
        }
    },

(这两个都在myapp命名空间内。)

单击按钮时,getBook功能永远不会触发。如果必须,我只会创建一个带有onClick的按钮,但我想看看我是否可以先进入事件监听器路径。

1 个答案:

答案 0 :(得分:0)

我几乎做了mu太短的建议。

以下是一个例子:

$("#bookTemplateDiv").on("click", "#addButton", function() {
    $("#bookNames").append(myapp.consts.bookStuffTemplate({}));
});