动态添加按钮时,未命中按钮单击事件

时间:2015-05-25 09:05:55

标签: javascript knockout.js

有以下头痛:有一个具有初始化功能的淘汰视图模型

initialize: function () {
// bla bla
     this.toolbar.addButton({ text: 'View All', label_key: 'view_all', click: 'viewAll' });
},

和一些处理函数

viewAll: function () {
     this.toolbar.removeButton('#view_all');
     this.toolbar.addButton({ text: 'View Users Projects', label_key: 'view_users_projects', click: 'viewUsersProjects' });
    //some things to do
    });

viewUsersProjects: function () {
   localstorage.clear()// I need this here but this function doesn't work
    this.toolbar.removeButton('#view_users_projects');
    });
}

所以,问题是如下 - 当点击按钮viewAll时 - 相同的功能工作但是如果点击按钮viewUsersProjects viewUsersProjects功能不起作用,它直接移动初始化,我甚至可以删除viewUsersProjects函数,没有任何改变但是view_users_projects按钮以某种方式消失了...当单击view_users_projects按钮时,我实际需要清除localstorage。感谢您的回答。

添加/删除按钮的原型函数:

_.extend(Toolbar.prototype, {
    addButton: function (options) {
        $('.navbar ul.nav:eq(0)').append(
            '<li class="kkvw-button" id="' + options.label_key + '">' +
                '<a data-bind="click: ' + options.click + '" href="">' +
                '</a>' +
            '</li>'
        );

        return this;
    },

    removeButton: function (text) {
        $(text).remove();
    },
});

0 个答案:

没有答案