2013-10-11 93 views
0

我正在使用jQuery在按下按鈕時進行一些Ajax調用。這在Chrome中完美運行,但單擊Firefox中的按鈕可以重新加載頁面。在Firefox中未觸發jQuery click()24

<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

嘗試'$( '#QA-NEXT')點擊(函數(E){e.preventDefault(); $。員額...' –

+0

@ JasonP:超級,謝謝! – nomen

回答

1

使用e.preventDefault()你的點擊函數中

$('#qa-next').click(function() { 
    e.preventDefault(); 
    $.post("@{QACardR}", ko.mapping.toJSON(viewModel), function(newQA) { 
    ko.mapping.fromJS(newQA, {}, viewModel); 
    }); 
}); 
相關問題