$(function() {// Wait for the `shiny:connected` event, so that the `Shiny` JS object exists$(document).on('shiny:connected',function(event) {// Unbind all inputs Shiny.unbindAll();// Extend the binding and edit its content// Access the binding registry $.extend(Shiny.inputBindings.bindingNames['shiny.actionButtonInput'].binding, {reset:function(el) {$(el).data('val',0); },subscribe:function(el, callback) {$(el).on('click.actionButtonInputBinding',function(e) {var $el =$(this);var val = $el.data('val') ||0; $el.data('val', val +1);callback(); });$(el).on('change.actionButtonInputBinding',function(e) {debugger;callback(); }); } });// Apply the new changes with Shiny.bindAll() Shiny.bindAll(); });$('#button1').on('click',function() {var $obj =$('#button2');var inputBinding = $obj.data('shiny-input-binding');var val = $obj.data('val') ||0; inputBinding.setValue($obj, val +10); $obj.trigger('change'); });$('#reset').on('click',function() {var $obj =$('#button2');var inputBinding = $obj.data('shiny-input-binding'); inputBinding.reset($obj); $obj.trigger('change'); });});