Javascript keydown事件中的值未更改
我有以下功能:Javascript keydown事件中的值未更改,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我有以下功能: formCreated = function (event, data) { console.log(data.formType); // output: 'edit' $('body').on('keydown', function (e) { if (e.ctrlKey && e.which == 80) { e.preventDefault();
formCreated = function (event, data) {
console.log(data.formType); // output: 'edit'
$('body').on('keydown', function (e) {
if (e.ctrlKey && e.which == 80) {
e.preventDefault();
e.stopPropagation();
if (data.formType == 'create') // not changed until page refresh
alert('save the record');
else if (data.formType == 'edit')
_connectPrinter(data);
}
});
}
保存后,记录数据。formType
更改为“编辑”,但在事件值内部直到页面刷新后才更改。尝试
.off()方法删除已注册的值。您需要使用新值重新注册它。因为前一个值在闭包中。
$('body').off('keydown').on('keydown', function (e) {
// your code here
}