     return if @event.defaultPrevented
     @_extractLink()
     if @_validForTurbolinks()
-      visit @link.href unless pageChangePrevented()
+      keepScroll = @link.link.getAttribute && @link.link.getAttribute('data-keep-scroll')?
+      visit @link.href, keepScroll unless pageChangePrevented()
       @event.preventDefault() 
 
   _extractLink: ->


  if transitionCacheEnabled and cachedPage = transitionCacheFor(url.absolute)
    fetchHistory cachedPage
    fetchReplacement url
  else
    fetchReplacement url, resetScrollPosition

  visit = (url) -> document.location.href = url

# Public API
#   Turbolinks.visit(url, keepScroll=false)
#   Turbolinks.pagesCached()
#   Turbolinks.pagesCached(20)
#   Turbolinks.enableTransitionCache()
