In the context ko foreach: widgits I create a list of items with just a few buttons, which display settings to the user.
<ul> <li> <span data-bind="text: $data.text"></span> <button id="fast" data-bind="click: function(){$root.spinWidget($data, '1000rpm')}"></button> <button id="medium" data-bind="click: function(){$root.spinWidget($data, '500rpm')}"></button> <button id="slow" data-bind="click: function(){$root.spinWidget($data, '200rpm')}"></button> </li> </ul> > <ul> <li> <span data-bind="text: $data.text"></span> <button id="fast" data-bind="click: function(){$root.spinWidget($data, '1000rpm')}"></button> <button id="medium" data-bind="click: function(){$root.spinWidget($data, '500rpm')}"></button> <button id="slow" data-bind="click: function(){$root.spinWidget($data, '200rpm')}"></button> </li> </ul> -bind = "click: function () {$ root.spinWidget ($ data, '500rpm')}"> </ button> <ul> <li> <span data-bind="text: $data.text"></span> <button id="fast" data-bind="click: function(){$root.spinWidget($data, '1000rpm')}"></button> <button id="medium" data-bind="click: function(){$root.spinWidget($data, '500rpm')}"></button> <button id="slow" data-bind="click: function(){$root.spinWidget($data, '200rpm')}"></button> </li> </ul> -bind = "click: function () {$ root.spinWidget ($ data, '200rpm')}"> </ button> <ul> <li> <span data-bind="text: $data.text"></span> <button id="fast" data-bind="click: function(){$root.spinWidget($data, '1000rpm')}"></button> <button id="medium" data-bind="click: function(){$root.spinWidget($data, '500rpm')}"></button> <button id="slow" data-bind="click: function(){$root.spinWidget($data, '200rpm')}"></button> </li> </ul>
When I click the first button, I see that every click is invoked by the click handler. When I click or check other buttons, I see that the click handler is not installed.
source share