diff --git a/assets/javascripts/lib/util.coffee b/assets/javascripts/lib/util.coffee index de7f7077..dad6ca41 100644 --- a/assets/javascripts/lib/util.coffee +++ b/assets/javascripts/lib/util.coffee @@ -278,6 +278,12 @@ $.classify = (string) -> string[i] = substr[0].toUpperCase() + substr[1..] string.join('') +$.framify = (fn, obj) -> + if requestAnimationFrame + (args...) -> requestAnimationFrame(fn.bind(obj, args...)) + else + fn + # # Miscellaneous # diff --git a/assets/javascripts/views/list/list_focus.coffee b/assets/javascripts/views/list/list_focus.coffee index 6b8c1744..cfa7c827 100644 --- a/assets/javascripts/views/list/list_focus.coffee +++ b/assets/javascripts/views/list/list_focus.coffee @@ -12,7 +12,9 @@ class app.views.ListFocus extends app.View superEnter: 'onSuperEnter' escape: 'blur' - constructor: (@el) -> super + constructor: (@el) -> + super + @focus = $.framify(@focus, @) focus: (el) -> if el and not el.classList.contains @constructor.activeClass