IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Diff�rence entre onclick et click?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2014
    Messages
    43
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2014
    Messages : 43
    Par d�faut Diff�rence entre onclick et click?
    Bonsoir � tous!

    Je suis en train de cr�er un �diteur wysiwyg, et mon code fonctionne mal. Pour une raison qui m'est inconnue, lorsque j'appelle ma fonction insertTag() depuis un onclick dans le HTML, tout va bien. A l'inverse, quand l'appel passe via la m�thode .click(), rien ne va.
    Auriez vous des id�es?

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     
    <title>WYSIWYG</title>
    </script>
    </head>
    <body>
    <div id="main">
    	<div>
    		<p>
    			<input type="button" value="G" id="gras"></input>
    			<input type="button" value="I" onclick="insertTag('&lt;italique&gt;', '&lt;/italique&gt;', 'textarea')" />
    		</p>	
    	</div>	
    	<textarea id="textarea" cols="150" rows="10"></textarea>
    	<div id="previewDiv"></div>
    </div>
    <script src="jQuery.js"></script>
    <script src="wysiwyg.js"></script>
    </body>
    </html>

    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    	$(document).ready(function () {
    		$("#gras").on("click", function() {
    			insertTag("&lt;gras&gt;, &lt;/gras&gt;, textarea");
    		});
    	});
    	function insertTag(startTag, endTag, textareaId, tagType) {
    		var field = document.getElementById(textareaId);
    		var scroll = field.scrollTop;
    		field.focus();
    		var startSelection   = field.value.substring(0, field.selectionStart);
    		var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
    		var endSelection     = field.value.substring(field.selectionEnd);
    		field.value = startSelection + startTag + currentSelection + endTag + endSelection;
    		field.focus();
    		field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
    	}  	
     
    	function preview(textareaId) {
    		var field = textareaId.value;
    		field = field.replace(/&/g, '&amp;');
    		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
    		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');	
    		field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
    		field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
    		document.getElementById("previewDiv").innerHTML = field;
    		console.log(field);
    	}
     
    	var area = document.getElementById("textarea");
    	preview(area);

    Merci d'avance!

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    insertTag("&lt;gras&gt;, &lt;/gras&gt;, textarea");
    Avec cette syntaxe, tu ne passes qu'un seul param�tre � une fonction qui en attend 4...
    Il t'aurais suffit de regarder la console du navigateur pour t'en rendre compte.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 24/06/2014, 19h30
  2. Image : Diff�rence entre un click et un click glisser lacher?
    Par yupyupxav dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 24/05/2013, 08h16
  3. [JS] form.submit: Diff�rence entre onchange et onclick
    Par leminipouce dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 01/07/2008, 12h09
  4. R�ponses: 5
    Dernier message: 17/05/2004, 15h29
  5. R�ponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo