The best solution I could find is the following custom ko binding:
//This binding fixes apparent incompatibility between knockout and jqm ko.bindingHandlers.jqmsubmit = { init: function (el, accessor, allbindings, vm) { ko.bindingHandlers.submit.init(el, accessor, allbindings, vm); $(el).submit(function (e) { // prevent the submit behavior e.preventDefault(); e.stopPropagation(); return false; }); } };
Used instead of the standard ko binding view:
<form data-bind="jqmsubmit: myKoSubmitAction"> </form>
source share