繁体   English   中英

如何使参数在事件函数中起作用

[英]How to get the parameter to work inside a event function

当我想取消绑定事件时,我将代码包装在一个函数中,但是当我需要查看按下哪个键时,我需要获取该事件的事件(不确定如何调用)。

//正常的例子

$('body').on('keydown',function( event ){
    if(event.keyCode == 37){
        // do something
    }
});

//我的例子

function keyDownHandler() {
     if(event.keyCode == 39) {
        // does not work
    }    
 }

$('body').on('keydown', keyDownHandler);

您需要获取事件对象,可以将其作为回调函数参数获取

function keyDownHandler(event) {
    // set it here ----^^^^^^---
    if(event.keyCode == 39) {
        // works now
    }
}

$('body').on('keydown', keyDownHandler);
$(document).ready(function () {
    //1st way
    $('body').on('keydown', function(event){
        keyDownHandler(event);
    });

    //2nd way ,same as first but shorter use it for send event only
    $('body').on('keydown', keyDownHandler);

    //3rd way ,this way to send more data
    $('body').on('keydown', {example:'hello world'},keyDownHandler2);
});

function keyDownHandler(event) {
    console.log(event.keyCode);
}

function keyDownHandler2(event) {
    console.log(event.keyCode);
    console.log(event.data.example);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM