Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript keydown事件中的值未更改_Javascript_Jquery_Javascript Events - Fatal编程技术网

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
}