В момента разработвам малка система за коментари с ajax. Искам да развържа събитието за натискане на клавиш, когато е натиснат клавишът enter (за да избегна дублиращи се коментари) и да го обвържа отново след успешно ajax-извикване.
jQuery(".commentDiv textarea").keypress(function(event) {
if(event.which == 13 && !event.shiftKey) {
event.preventDefault();
var textarea = jQuery(this);
var comment = jQuery.trim(textarea.val());
if (!comment.length) {
alert("No valid comment.");
return false;
}
var the_data =
{
...
};
textarea.attr( "disabled", "disabled" );
textarea.val("Saving comment. Please wait...");
textarea.off('keypress.disabled');
// or textarea.unbind('keypress'); which also works
jQuery.post(ajaxurl, the_data, function(sp_response) {
textarea.attr( "disabled", false);
textarea.val("");
textarea.on('keypress.disabled', false); // not working
});
}
});
keypress.disabled
кодът е взет от Как да обвържа, развържа и преобвържа (щракване) събития в JQuery.
Кой е най-лесният начин за повторно свързване на събитието натискане на клавиш към елемента?