JSFiddle - React, Tailwind, and code Playground
HTML
<p data-bind="audio: {value: someobservable, sound:'http://www.w3schools.com/TAGs/horse.ogg'}">SOme test</p>
<button data-bind="click: click">Click</button>
JavaScript
ko.bindingHandlers.audio = {
init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var config = ko.unwrap(valueAccessor());
var file = config.sound;
var observable = config.value;
observable.subscribe(function () {
var audio = new Audio(file);
audio.play();
});
}
};
ko.applyBindings({
someobservable: ko.observable(),
click: function () {
this.someobservable('change');
}
})