2017-01-26 3 views
0

Ich habe diese jquery Funktion erweitern, aber der Befehl exec für die redColorBtn scheint nicht zu funktionieren. Wenn ich die var iframeDocument-Definition in die redColorBtn-Funktion verschiebe, funktioniert sie. Aber ich kann mir nicht vorstellen, warum das passieren würde. Ich dachte, es wäre wegen der Variablen-Bereich, aber dann sollte die Iframe-Definition auch nicht außerhalb der RedColorBtn Click-Funktion arbeiten. Weiß jemand?Variable Umfang der Funktion innerhalb der Funktion jquery

$.extend({ 
handleToolbarEvents: function(iframeDocumentId) { 
    var iframe   = document.getElementById(iframeDocumentId); 
    var iframeDocument = iframe.contentWindow.document; 
    var redColorBtn  = document.getElementById('rte-redColorBtn-' + iframeDocumentId); 

    $(redColorBtn).click(function() { 
     var command = $(this).val();//foreColor 
     iframeDocument.execCommand(command, false, "red"); 
    }); 

    $('.rte-button').click(function() { 
     var command  = $(this).val(); 
     var iframeID  = $(this).closest('iframe[class="rte-iframe"]'); 
     var iframeDocument = iframe.contentWindow.document; 
     iframeDocument.execCommand(command, null, null); 
    }); 
} 
}); 
+0

Was meinen Sie mit "scheint nicht zu funktionieren"? Gibt es Fehler oder was macht es? – 4castle

Antwort

0

i einmal haben ist das gleiche Problem, dass ich das Click-Ereignis hinzufügen, aber es funktioniert nicht. Es kann sein, wenn Sie das redColorBtn dynamisch hinzufügen, könnte es Ihr Problem sein. Sie können versuchen redColorButton.bind('click', function(){}); Ich weiß nicht warum, aber es hat für mich funktioniert.

Ich hoffe, es funktioniert.

Verwandte Themen