title_body: Embed JavaScript in an e-book using an e-reader
upvoted_answer: JavaScript is an optional part of the epub 3.0 specification:
  
  
    EPUB Content Documents may contain scripting using the facilities
    defined for this in the respective underlying specifications ([HTML5]
    and [SVG]).
  
  
  What this means is that even a fully-compliant epub 3.0 device doesn't need to implement JavaScript support. The ones that do will generally be the "more bells and whistles" devices; the iPad, for example, supports JavaScript. The IDPF's epub Chrome extension Readium does as well.
  
  Note that according to the epub 3.0 specification, the following criteria for reading systems that support JavaScript must be met:
  
  
    › It must support container-constrained scripting and may support
    spine-level scripting.
    
    › It may render Scripted Content Documents as an interactive, scripted
    User Agent according to [HTML5].
    
    › It must not allow a container-constrained script to modify the DOM
    of the parent Content Document or other contents in the EPUB
    Publication, and must not allow it to manipulate the size of its
    containing rectangle. (Note: Even if a script is not
    container-constrained, the Reading System may impose restrictions on
    modifications (see also the dom-manipulation feature).)
    
    › It may place additional limitations on the capabilities provided to
    scripts during execution (e.g., limiting networking).
    
    › It must implement the JavaScript navigator extension object
    epubReadingSystem defined in Appendix A, JavaScript epubReadingSystem
    Object . It also must support the dom-manipulation and layout-change
    features defined in Features in container-constrained scripting
    contexts.
    
    › It must regard the scripted [Publications301] property of the
    Package Document manifest item element as the authoritative definition
    of whether an EPUB Content Document includes scripting.
  
  
  EDIT: Popup text and images are definitely possible using JavaScript in iBooks. For an example, check out Beneath The Ink.