<div class='cf' id='content'>
<div id='leftColumn'>
</div>
<div class='microposts'>
<div class="micropostContent">
</div
</div>
<div id='rightColumn'>
</div>
</div>
Prepend:
$('.micropostContent').prepend('<%= j render("users/partials/micropost") %>');
Einige der Funktionen:
$(".micropost_content").focus(function() {
this.rows = 7;
var micropostBox = $(this),
xButton = $(this).parent().find(".xButton");
micropostBox.hide().addClass("micropost_content_expanded").show().autoResize();
xButton.css("display", "block");
xButton.click(function() {
micropostBox.removeClass("micropost_content_expanded").addClass("micropost_content");
micropostBox.val("");
xButton.hide();
});
});
$(".comment_box").focus(function() {
this.rows = 7;
var $commentBox = $(this),
$form = $(this).parent(),
$cancelButton = $form.children(".commentButtons").children(".cancelButton");
$(this).removeClass("comment_box").addClass("comment_box_focused").autoResize();
$form.children(".commentButtons").addClass("displayButtons");
$form.children(".commentButtons").children(".cancelButton");
$cancelButton.click(function() {
$commentBox.removeClass("comment_box_focused").addClass("comment_box");
$form.children(".commentButtons").removeClass("displayButtons");
$commentBox.val("");
});
});
$('.micropostOptions').on('click',function(){
var postMenu = $(this).find('.postMenu');
if(postMenu.is(':hidden')){
$('.postMenu').hide();
$('.micropostOptions').removeClass("postMenuHoverState");
postMenu.show();
$(this).hide().addClass('postMenuHoverState').show(60);
}else{
postMenu.hide();
$(this).removeClass("postMenuHoverState");
}
});
Die Funktionen, die den Fokus nicht mehr funktionieren und Funktionen klicken. Sie funktionieren erst wieder nach dem Auffrischen, bis ich eine weitere Ajax-Nachricht/Micropost poste.
Die Funktion .comment_box funktioniert nicht bei der Nachricht, die vorangestellt wurde, aber sie funktioniert bei allen vorherigen Nachrichten. Die Funktion .micropostOptions funktioniert nicht alle. Nach dem Auffrischen funktioniert alles gut.
Fehle ich etwas?
Mit freundlichen Grüßen
Dies funktionierte gut .. Ist es möglich, dies auf ein ganzes Dokument anzuwenden, anstatt es auf jede Funktion anzuwenden? – LondonGuy
Nein, das würde keinen Sinn ergeben. Dies ist eine andere Methode zum Binden von Methoden, nicht etwas, um die Funktionsweise von Bindungen zu ändern. –
Das erzeugt delegierte Handler, anstatt Dinge direkt zu binden, es würde keine Möglichkeit geben, für jedes gebundene Ereignis zu schreiben, nehme ich an einen Delegierten stattdessen stellen? Wenn Sie nun davon ausgehen, dass die Möglichkeit besteht, dass Sie der Seite Elemente hinzufügen, verwenden Sie einfach .on, um einen Delegaten zu erstellen. –