簡體   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