我有一个网页,它通过 JavaScript 动态生成表单 HTML,并将其倒入div
idjobJSONConfigurationForm
中。
为了接管表单的 Submit 元素(id jobJSONConfigurationFormSubmit
),我调用了 submit-div 的live
函数:
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 不会显示警报或在函数的其余部分运行代码。
我在 Firefox 下使用 jQuery 做错了什么,导致event.preventDefault()
失败?谢谢你的建议。