2010-12-09 9 views
1

Ich habe das folgende HTML.Aktion nur ausführen, wenn der Klick von contenteditable div ausgelöst wird

Grundsätzlich ist es ein contentadiable Div mit dem Text Text drin.

Auch im div sind zwei andere divs, auf die der Benutzer klicken kann.

<div class="test" contenteditable="true">Text 
    <div class="color-picker"> 
    <img src="/style/icons/color_swatch.png" alt="Color picker" title="Pick a color"> 
    </div> 

    <div class="color-swatch" contenteditable="false"> 
    <div class="pane"> 
     <div style="background: #000000;"></div> 
    </div> 
    <div class="pane" "=""> 
     <div style="background: #990000;"></div> 
    </div> 
    </div> 
</div> 

ich folgende Jquery haben, braucht nur eine Aufgabe auszuführen, wenn der Benutzer klickt in den contenteditable div und nicht seine Kinder (z .color-Kommissionier-/.color-Feld).

$('div.test').mouseup(function(e) { 
    if(e.target.contenteditable=='true') { 
    alert('yes'); 
    } else { 
    alert('no'); 
    } 
    // do action only if triggered by contenteditable div 
}); 

Meine Vermutung ist zu prüfen, ob der Contentable Div das Ereignis ausgelöst hat.

Aber ich kann nicht scheinen, dass es funktioniert.

Wenn ich im contenteditable div klicke, bekomme ich eine Warnung "nein", was ja sein sollte.

Wenn ich in den .color-Picker || klicke .color-switch Ich bekomme auch Alarm "Nein" was gut ist.

Vielen Dank im Voraus für die Hilfe.

Antwort

3

Die JavaScript-Eigenschaft ist Camelcase, sollte es contentEditable so aussehen:

$('div.test').mouseup(function(e) { 
    if(e.target.contentEditable == 'true') { 
    alert('yes'); 
    } else { 
    alert('no'); 
    } 
}); 

You can test it out here.

+0

Nicht perfekt, aber gut genug;) Ich auch die Farbpicker div einstellen musste contenteditable = „false“ sonst bekam ich eine Warnung ja drauf. Du bist die größte TNX: D – PeeHaa

-1

Sie das Attribut Selektor verwenden können:

$("div[contenteditable='true']").mouseup 
+0

Nicht wirklich, denn es wird auch ausgelöst, wenn ein Element darin geklickt wird. – PeeHaa

Verwandte Themen