12/08/2018, 00:01

[Note] addEventListener trong trường hợp có tham số truyền vào hàm Callback

Bài viết lấy ví dụ cho MouseEvent.CLICK Không có tham số truyền vào hàm Callback Rất đơn giản my_btn . addEventListener ( MouseEvent . CLICK , callback_function ) ; function callback_function ( evt : MouseEvent ) : void { // CODE HERE } Có tham số truyền vào hàm ...

Bài viết lấy ví dụ cho MouseEvent.CLICK

Không có tham số truyền vào hàm Callback

Rất đơn giản

my_btn.addEventListener(MouseEvent.CLICK, callback_function);

function callback_function(evt: MouseEvent):void {
    // CODE HERE
}

Có tham số truyền vào hàm Callback

Cách mình hay làm

my_btn.addEventListener(MouseEvent.CLICK, callback_function(my_param_1, my_param_2));

function callback_function(my_param_1, my_param_2):Function {
    return function(e:MouseEvent):void {
        // CODE HERE. PARAMETERS CAN BE USED
    }
}

Trường hợp nào cần dùng?

Khi có nhiều object mà xử lý Callback của chúng khi có event là gần như giống nhau, sự khác nhau phụ thuộc và id hay một số thuộc tính (chiều dài, chiều rộng, góc quay...) của chúng. Những thuộc tính này sẽ được truyền như là tham số vào hàm một hàm Callback chung.

P.S. Bài viết mang đậm tính chất take note để dùng cho sau này. Mong mọi người góp ý (lay2)

0