up.fragment up:fragment:keep
DOM event

This event is emitted before an existing element is kept during a render pass.

Event listeners can call event.preventDefault() on an up:fragment:keep event to prevent the element from being kept. If the event is prevented, the element will be replaced with a fragment from the response.

Example

The following would only keep an <audio up-keep> element as long as it plays the same song (as identified by the tag's src attribute):

up.on('up:fragment:keep', 'audio', function(event, element) {
  if (element.getAttribute('src') !== event.newFragment.getAttribute('src')) {
    // Preventing the event forces an update
    event.preventDefault()
  }
})

You may also define an up:fragment:keep listener in HTML using an [up-on-keep] attribute.


Event properties

event.preventDefault()
required

Prevents the fragment from being kept.

The fragment will be replaced with event.newFragment.

event.target
required

The fragment that will be kept.

Type: Element
event.newFragment
required

The new element from the response.

Type: Element
event.newData
required

The data attached to the new element.

Type: Object
event.renderOptions
required

An object with render options for the current render pass.

Type: Object