0

当按下按钮时,我正在使用 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中不起作用。我究竟做错了什么?

4

1 回答 1

1

在你的点击函数中使用e.preventDefault()

$('#qa-next').click(function () {
  e.preventDefault();
  $.post("@{QACardR}", ko.mapping.toJSON(viewModel), function(newQA) {
    ko.mapping.fromJS(newQA, {}, viewModel);
  });
});
于 2013-10-11T19:36:14.873 回答