diff --git a/src/binders.coffee b/src/binders.coffee index df0344994..ae28455e3 100644 --- a/src/binders.coffee +++ b/src/binders.coffee @@ -72,7 +72,7 @@ Rivets.public.binders.value = bind: (el) -> unless el.tagName is 'INPUT' and el.type is 'radio' - @event = if el.tagName is 'SELECT' then 'change' else 'input' + @event = if el.tagName is 'SELECT' then 'change' else Rivets.public.updateEvent Rivets.Util.bindEvent el, @event, @publish unbind: (el) -> diff --git a/src/rivets.coffee b/src/rivets.coffee index 6194c0e1d..b30621955 100644 --- a/src/rivets.coffee +++ b/src/rivets.coffee @@ -6,6 +6,7 @@ Rivets = 'rootInterface' 'preloadData' 'handler' + 'updateEvent' ] extensions: [ @@ -41,6 +42,9 @@ Rivets = # Preload data by default. preloadData: true + # Use the 'oninput' event by default so synchronization occurs as changes occur. + updateEvent: 'input' + # Default event handler. handler: (context, ev, binding) -> @call context, ev, binding.view.models