У меня есть веб-страница, которая динамически генерирует HTML-форму с помощью JavaScript и помещает ее в div
с идентификатором jobJSONConfigurationForm
.
Чтобы получить элемент Submit формы (id jobJSONConfigurationFormSubmit
), я вызываю функцию live
submit-div:
jobJSONConfigurationFormSubmit.live('click', function() {
event.preventDefault();
var jobSummaryJSONTextareaValue = $("#jobSummaryJSONTextarea").val();
var jobSummaryJSONObj = null;
try {
jobSummaryJSONObj = JSON.parse(jobSummaryJSONTextareaValue);
} catch(e) {
alert('This is not a valid JSON string. Please try again with a JSON-formatted string.');
}
updateJobSummaryWithJSONObj(jobSummaryJSONObj);
});
Функция updateJobSummaryWithJSONObj()
обновляет модель данных страницы и представление (другие формы и динамически генерируемый HTML).
Этот код обновляет модель и представление в Chrome 11 и 10, но это не работает в Firefox. Модель данных и представление не обновляются в Firefox 4.01.
Если я добавлю alert('foo')
перед строкой event.preventDefault();
, Firefox покажет мне диалоговое окно с предупреждением, но не запустит код в оставшейся части функции.
Если я добавлю alert('foo')
после строки event.preventDefault();
, Firefox не отобразит предупреждение и не запустит код в оставшейся части функции.
Что я делаю не так с jQuery под Firefox, что приводит к сбою event.preventDefault()
? Спасибо за ваш совет.