Bonjour,
J'ai sensiblement le même problème que Noquioz dans cette discussion .on('click'): Preventdefault() fonctionne pas pour tous les liens.

En synthèse, lors d'un clic de l'utilisateur sur un lien X, je souhaite empêcher le scroll vers ce lien X. Le div qui contien le lien X est généré en javascript par l'appel à une fonction au chargement de la page, de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function creation_chanson (number){
    var ligne = document.getElementById('lignechanson');     <!--récupération du DIV conteneur 'lignechanson' créé dans le HTML -->
    var div1 = document.createElement('div');                    <!--création d'un div dans le conteneur 'lignechanson'  -->
 
           .... // autre div créés

        var div12 = document.createElement('div'); <!--élément cliquable que je souhaite figer lors du clic -->
        div12.className='col-md-6 cursor_clic figer_clic';
        div12.setAttribute("onClick",'clic_chanson(this)');  <!--fonction annexe qui permet de lancer des actions lors du clic -->
   
   div1.appendChild(div12);  
   ligne.appendChild(div1); 

       .... // autre div créés
Pour empecher le scroll lors du clic sur div12, j'utilise ensuite la fonction suivante comme précisé par Daniel ci-dessus:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$( "#lignechanson" ).on( "click", "div.figer_clic", function(e) {
    e.preventDefault();
});
Malheureusement, cela ne fonctionne pas et je ne comprends pas pourquoi. J'ai aussi testé avec un seul selector et le scroll n'est pas non plus bloqué lors du clic.
Merci de votre aide.