我已經創建了一個輸入框,當按下回車鍵(13)時提交一個簡單的域。如果您第一次按下該按鍵,代碼將起作用,但在我刷新頁面之前,它再也無法工作。我試圖解除這個事件,但沒有任何反應。按下按鍵後無法取消綁定按鍵事件
$(function() {
$('#new_list').bind('keypress', function (e) {
if(e.which === 13) {
console.log('enter pressed');
var nl_val = {};
nl_val['list_name'] = $('#new_list').val();
$.post('/lists/js_new_list',nl_val,function(str) {
if(str == 'error') {
$('#info').css({'color':'red'})
.fadeIn(1000)
.text('There was an error.')
.fadeOut(1000);
} else {
$('#new_list').hide().val('');
$('#info').css({'color':'#00620C'})
.fadeIn(1000)
.text('List created.')
.fadeOut(1000);
js_refresh_lists();
}
});
$('#new_list').unbind("keypress");
} // UPDATE: this is the if(e.which === 13) end
});
});
function js_refresh_lists() {
var id = list_id();
console.log('refreshing list');
$('#lists').load('/lists/js_refresh_lists');
}
更新:我希望用戶能夠無需刷新頁面以獲取按鍵事件再次合作添加另一個列表(我的情況)。在本文頂部提到的那一刻,它只在第一次添加新列表時起作用,然後Enter鍵不執行任何操作。
任何人都可以找出爲什麼鍵是解除綁定?
乾杯
你的問題很混亂。你打電話解除綁定人員的輸入。 – Joe
你想完成什麼?解除綁定會導致它不會調用按鍵事件,這聽起來像現在正在發生的事情。 –
我已更新我的問題。 – afarazit