未检测到js按钮单击

时间:2015-03-30 20:49:20

标签: javascript jquery

我创建了一个div,点击后会弹出一个彩色框,按钮“是”和“否”。:

 var Abutton = document.createElement("div");
                Abutton.className = "Abutton";
                Abutton.onclick = function () {
                    new Messi(
                        'Are you sure you want to close your job?',
                        {
                            title: 'Are you sure?',
                            buttons: [
                                {id: 0, label: 'Yes', val:'Y' , class: 'deleteJob'},
                                {id: 1, label: 'No', val: 'N', class: 'cancelAction'}

                            ]
                        }
                    );
                };
                Abutton.title = "Closed?";
                Abutton.appendChild(document.createTextNode("Close Job"));
                li.appendChild(Abutton);

“是”按钮与下面的此功能相关联。但是当我点击时,没有任何反应。日志语句也未显示。

  $(".deleteJob").click(function(){
           deleteJob();
           console.log("heelo");
    });

为什么不起作用?

1 个答案:

答案 0 :(得分:0)

不确定仅基于此代码,但deleteJob按钮是动态添加的,并且在您添加click事件时可能不存在。您应该在父元素上使用事件委托。根据您的代码,这是li元素。如果它是<ul>的一部分,可能会将click事件放在其上,如下所示:

$(function(){
  $('ul').on('click','.deleteJob', function(){
    deleteJob();
    console.log('hello');
  });
});

同样,在没有看到其余代码的情况下,不是100%确定。但无论哪种方式,事件代表团都是可行的方式。