2015-03-30 122 views
1

我創建了一個DIV,單擊時,梅西框彈出,用按鈕「是」和「否」:JS沒有檢測按鈕點擊

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"); 
    }); 

爲什麼它不起作用?

回答

0

不確定僅基於此代碼,但deleteJob按鈕正在動態添加,並且在您添加點擊事件時可能不存在。相反,您應該在父元素上使用事件委託。根據您的代碼,這是li元素。如果是<ul>的一部分也許把click事件就可以了,像這樣:

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

同樣,不是100%肯定沒有看到代碼的其餘部分。但無論哪種方式,事件代表團都是要走的路。