2010-11-09 5 views
1

J'ai créé une application Web de l'éditeur de texte enrichi en utilisant document.designMode = "on" dans une iframe. Je veux que la sélection du texte fonctionne mais que le glisser-déposer du texte soit désactivé. Je essayé ceci:La désactivation par glisser-déposer ne fonctionne pas dans les navigateurs WebKit Safari/Chrome

evt.dataTransfer.effectAllowed="none"; 
evt.dataTransfer.dropEffect = "none"; 

Cela fonctionne bien dans Firefox, mais il ne fonctionne pas dans les navigateurs WebKit Safari/Chrome. J'ai essayé de mettre cela dans tous les cas: dragover, dragstart, drag, dragenter etc. mais en vain..put evt.preventDefault() dans mousedown ou mouseup addEventListeners désactive la sélection de texte que je ne veux pas. S'il vous plaît aider ...

+0

Merci Scott pour la jolie impression !! – Sukii

Répondre

0

Ok ici, je peux voir le même problème que le mien, j'ai travaillé sur ces derniers mois et j'ai juste eu la chance de résoudre en utilisant l'essai et l'erreur. J'utilisais Asp.net MVC et Safari et Chrome n'incluait pas les scripts créés sur les vues qui ont des espaces de contenu mappés dans l'en-tête de la page maître si vous comprenez ce que je veux dire.

Dans votre scénario, vous devrez peut-être vérifier votre javascript s'il a été appelé avec succès au moment où la fonction a été appelée. Comme par exemple, vous ajoutez une bibliothèque

assurez-vous qu'il est sur l'en-tête et lorsque vous essayez d'appeler une fonction dire par exemple:

fonction Drag() {

// Alerte à prouver que cette méthode Drag était vraiment appelée

alert ("La méthode Drag a été appelée");

}

Utilisation des alertes vous aidera à vérifier si votre fonction a été exécutée avec succès, bien que des alertes sont ennuyeux, mais si vous l'utilisez à bon escient, il serait sûrement vous aider dans le débogage. Et la plupart du temps, il est également utile si vous pouvez mettre tous vos scripts dans la partie en-tête bien que certaines situations ne peuvent pas être évitées.

Cela a fonctionné pour moi dans mes problèmes Safari/Chrome javascript.

Veuillez voter si cela vous a aidé. Je vous remercie!

+0

Merci j'ai fait tout ça, non ça n'aide pas ... C'est bien que tu aies tout appris à l'âge de 14 ans, mais c'est un peu triste que tu essaies de faire de la programmation quand tu devrais jouer dehors ... – Sukii