私は現在、ajaxを使用して小さなコメントシステムを開発しています。エンターキーが押されたときにキープレスイベントのバインドを解除し(コメントの重複を避けるため)、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のイベントをバインド、バインド解除、および再バインド(クリック)する方法から取得されます。
keypressイベントを要素に再バインドする最も簡単な方法は何ですか?