javascript - 在对象创建时添加事件处理程序不起作用?

标签 javascript jquery javascript-objects dom-events

我有以下内容:

MycheckModal.__construct = function(element){
this.blackout = $("<div class='modal-backdrop'></div>")
    .attr("style", 'left:0px;top:0px;position:absolute;background:black')
    .css("opacity", "0.5")
    .css("height", $(document).height() + 'px')
    .css("width", $(document).width() + 'px')
    .css("z-index", "5000");

this.blackout.live("click", function(){
    MycheckModal.__destruct();
});

}

MycheckModal.__destruct = function(){
    this.element = null;
    this.url = null;
    this.blackout.fadeOut(150, function(){ 
        MycheckModal.blackout.remove();
        MycheckModal.blackout = null;
        } );
    this.modal.fadeOut(150, function(){ 
        MycheckModal.modal.remove();
        MycheckModal.modal = null;
        } );    
}

它的代码有点大,但你明白了。 无论如何 - 事件处理程序没有注册,但是 - 当我在构造函数之外显式注册它时 - 它工作正常。

有什么想法我需要做什么吗?

最佳答案

我不确定为什么,但请尝试使用“点击”而不是“实时”。

this.blackout.click(function() {
    MycheckModal.__destruct();
});

关于javascript - 在对象创建时添加事件处理程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204820/

相关文章:

javascript - 在动态加载和渲染 CSS 后运行 javascript

javascript - 使用 Object.create 而不是 setPrototypeof

javascript - JS 查找函数推送未定义

javascript - 我正在尝试创建一个 javascript 页面来将信息输入到表单中,但它不起作用

javascript - 函数不是函数?

javascript - 根据放置在行中的键/值对(如 ID)在 jqGrid 行上设置类或标识符

javascript - 验证具有相同名称 [ ] 和不同行类别的输入

javascript - Angularjs - 登录,停留在页面上,在身份验证后加载 div

javascript - JS 对象值以 'undefined' 开头

javascript - 限制共享变量的范围 (Javascript)