2011-08-11 5 views

Répondre

0

Le principal problème avec votre code est que vous n'êtes pas reliant votre gestionnaire de clic à une fonction particulière (et il ne semble pas dire n'importe où dans les docs qu'il devrait rebondir à la précédente gestionnaire si vous appelez bind sans gestionnaire). Donc, vous devez changer votre code comme ceci:

var words = $("p:first").text().split(" "); 
var text = words.join("</span> <span class='la'>"); 
$("p:first").html("<span class='la'>" + text + "</span>"); 
function spanclick(){ 
    $(this).html('<input class="mm" value="' + $(this).text() + '"/>'); 
    $(this).unbind("click"); 
} 
$("span.la").click(spanclick); 
$("span.la").unbind("click"); 
$("#hmm").delegate(".mm", "blur", function() { 
    $(this).replaceWith("<span>" + $(this).val() + "</span>"); 
    $(this).bind("click"); 
    $("#get").html($("p").text()); 
}); 
$("#ed1").click(function() { 
    $("#get").html("Editing 1"); 
    console.log('aaa'); 
    $("span.la").bind("click", spanclick); 
}); 
$("#ed2").click(function() { 
    $("#get").html("Editing 2"); 
}); 

Mais ce n'est pas tout. Apparemment, quelque chose ne va pas avec votre CSS, car le div ed1 n'attrape pas les événements de clic. Il a été corrigé lorsque j'ai supprimé tous les CSS.

+0

ed1 cliquets événements que lorsque u exécuter dans le/show/ – kritya

+1

ah non il fonctionne: D: D – kritya

+0

Works pour moi: http://jsfiddle.net/4H94J/4/ - le violon se –