Skip to content

Instantly share code, notes, and snippets.

@jGRUBBS
Created September 10, 2014 19:41
Show Gist options
  • Save jGRUBBS/ed68799fca45a824f1ae to your computer and use it in GitHub Desktop.
Save jGRUBBS/ed68799fca45a824f1ae to your computer and use it in GitHub Desktop.
initialize scripts pragmatically
%div{ data: { init: 'somescript' } }
initialize =
inited: []
loaded: []
objects: ->
$('[data-init]').not('[data-load]').each (index, element) =>
if $.inArray($(element).data('init'), initialize.inited) == -1
initialize.inited.push($(element).data('init'))
window[$(element).data('init')].init()
load_objects: ->
$('[data-load]').each (index, element) =>
if $.inArray($(element).data('load'), initialize.loaded) == -1
initialize.inited.push($(element).data('load'))
window[$(element).data('load')].init()
jQuery ->
initialize.objects()
$(window).load ->
initialize.load_objects()
window.somescript =
init: ->
alert 'this is called when the data-init attribute is loaded on a certain page'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment