0
我在使用jquery.simpleModal的模式窗口中創建窗體。由於simpleModal克隆了初始div的內容以創建模態對話框,所以我必須在創建模態對話框後重新綁定事件處理程序。我的代碼看起來是這樣的:Javascript事件處理程序未觸發
function showForm() {
$('div.contactUs').modal({
opacity: 80,
overlayClose: true,
autoResize: true
});
var container = $('.simplemodal-container');
container.find('li.phone input').mask('(999) 999-9999');
container.find('li.comments textarea').maxChar(1000, { indicator: 'div.commentLength span' });
container.find('form').submit(function() {
try {
var form = $(this);
var action = form.attr('action');
var data = form.serialize();
$.post(action, data, function (result) {
form.html(result);
showForm();
});
} catch (e) {
alert(e);
}
return false;
});
}
不過,如果我打開模態對話框,然後將其關閉,然後再次打開它,它看來,表單提交處理程序未連接(打開模態對話框第二次並點擊完整頁面回發提交結果,而不是踢入ajax處理程序)。我已經驗證了其他東西正在重新綁定(輸入掩碼和最大字符限制的東西),那麼爲什麼提交處理程序不是?
這確實解決了它,但我仍然想知道爲什麼重新綁定不起作用。如果有人能回答我會給他們答案。否則,我會給你信貸。 – Chris 2011-01-27 18:23:54