我正在使用jQuery在按下按钮时进行一些Ajax调用。这在Chrome中完美运行,但点击Firefox中的按钮只会重新加载页面。
<button class="form-control btn btn-primary" id="qa-next">Next</button>
// using knockout to dynamically inject values in the page.
// works when triggered manually
$('#qa-next').click(function () {
$.post("@{QACardR}", ko.mapping.toJSON(viewModel), function(newQA) {
ko.mapping.fromJS(newQA, {}, viewModel);
});
});
$.post("@{QACardR}", ko.mapping.toJSON(viewModel), function(newQA) {
ko.mapping.fromJS(newQA, {}, viewModel);
});
如果我在控制台中运行它,可以正常工作。但是单击按钮只会刷新页面。所以我只能得出结论,问题是选择器或点击不在Firefox中工作。我做错了什么?
答案 0 :(得分:1)
在点击功能
中使用e.preventDefault()$('#qa-next').click(function () {
e.preventDefault();
$.post("@{QACardR}", ko.mapping.toJSON(viewModel), function(newQA) {
ko.mapping.fromJS(newQA, {}, viewModel);
});
});