2015-11-01 74 views
0

我试图在zabuto日历中添加更多的功能。这是一个模式将出现在点击日期后,允许我们添加或删除这一天的事件。但我无法捕捉事件点击这个模式中的按钮。这是我的代码。捕获事件点击jquery创建的模式内的按钮

function createModal() { 
// create a modal 
//... 
var $modalFooterButtonSave = $('<button id="btnSave">Save</button>'); 
var $modalFooterButtonDelete = $('<button id="btnDelete">Delete</button>'); 
//... 
//return this modal 
} 

function myDateFunction() { 
//Add modal into html page 
$("#myModal").html(createModal()); 
//Show modal 
$('#adjustModal').modal('show'); 
return true; 
} 
$(document).ready(function() { 
    // zabuto event click on date 
    $("#my-calendar").zabuto_calendar({ 
     action: function() { 
      return myDateFunction(); 
     } 
    }); 
    //Here is problem, i can't catch the event click on this button. 
    $("#btnSave").click(function(){ 
     alert("The btn Save was clicked."); 
    }); 
} 

回答

0

使用这个代替:

$(document).on('click', '#btnSave', function(){ 
    alert("The btn Save was clicked."); 
}); 
+0

如果'#btnSave'不会在DOM存在代码执行的时候,你能指望这个来完成? – David

+0

我明白它会被模态添加。 –

+0

它会的,而这正是OP所面临的问题。该代码在页面加载时执行,并在稍后将元素添加到页面中。您的解决方案与原始代码具有相同的问题。 '$(“#btnSave”)'在执行时没有找到任何元素。 – David