Version

Introduction

Installation

Limitations du protocole "file"

Questions fréquemment posées

Syntaxe, mots-clés et fonctions intégrées

Distribution standard

Implémentation de import

Packages Brython

Interface avec le navigateur

Introduction - API DOM
Créer un document
Accéder aux éléments
Attributs, propriétés et méthodes

Evénements
Evénements souris
Evénements clavier
Evénements focus
Evénements pour glisser-déposer

Chaine de requête

Interactions avec Javascript

Modules intégrés propres à Brython

browser
browser.aio
browser.ajax
browser.html
browser.local_storage
browser.markdown
browser.object_storage
browser.session_storage
browser.svg
browser.template
browser.timer
browser.webcomponent
browser.websocket
browser.worker

Widgets
browser.widgets.dialog
browser.widgets.menu

interpreter
javascript

Travailler avec Brython

Options d'exécution
Test et débogage
Deployer une application

Recettes

Salut !
Insérer du contenu dans un élément
Mise en forme HTML (gras, italique...)
Table HTML
Attacher / détacher des événements
Gérer la sélection d'options dans un SELECT
Glisser-déposer
Obtenir le contenu d'un élément
Lire le contenu d'un fichier
Stocker des objets localement
Exemple de onmouseover
 

Problème

Activer / désactiver un événement sur un élément

Solution

from browser import document
from browser.widgets.dialog import InfoDialog

def myevent(ev):
    InfoDialog("bind", "ça marche !")

def compteur():
    nb_events = len(document["myblock"].events("click"))
    InfoDialog("bind", f'{nb_events} événement(s) attaché(s) à "click"')

def attache(ev):
    document["myblock"].bind("click", myevent)
    compteur()
    document["mymessage"].text = "événement attaché, cliquer pour voir..."

document["attache"].bind("click", attache)

def detache(ev):
    if document["myblock"].events("click"):
        document["myblock"].unbind("click", myevent)
        compteur()
        document["mymessage"].text = "clic désactivé"

document["detache"].bind("click", detache)

en attente d'activation