VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-doc/content/acomp/component/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-doc/content/acomp/component/Hanger.md
## Tạo mới, mở rộng

Tạo mới, tương tự các module khác
```js
var dragSpace = _({
	tag: 'hanger',
  props:{hangOn: 2},//mặc định là 0
  on:{
  	predrag: function(event) {
      if (event.target.hasClass("some-thing-to-check")){
      	event.cancel();//hủy bỏ sự kiện drag, lúc này dragstart, dragend, drag sẽ không xảy ra
      }
      else {
        event.preventDefault();//trong 1 số trường hợp, cần phải chặn sự kiện hệ thống, tránh lỗi
      }
    },

  	dragstart: function(event) {
    },
    
  	drag: function(event) {
    },
    
  	dragend: function(event) {
    },
  }
});

```

> Chỉ khi nào khoảng cách di chuyển > `hangOn` thì dragstart, dragend, drag mới diễn ra, dùng `hangOn` khi dùng với sự kiện `click`



Mở rộng 1 đối tượng có sẵn để sử dụng các chức năng của Hanger

```js
_({
tag:'hanger',
elt: yourElement,
  on:{
  //có thể bỏ các listener ở đây 
  }
});

//hoặc gắn vào sau

your.on('predrag', hander);

```

## Sự kiện

## event (tất cả các sự kiện đều có)

- **type:** `string`
- **isTouch:** `boelean`, cho biết đây là sự kiện touch hay không
- **startingPoint:** `Vec2`, tọa độ bắt đầu
- **currentPoint:** `Vec2`, tọa đọ hiện tại
- **pointerIdent:** `number`, định danh cho figure cho touch, nếu click thì giá trị `-1`
- **clientX:** `number`
- **clientY:** `number`
- **target:** `Element`

### predrag: event

-**cancel:** `function(flag:boolean)->void`, gọi hàm này để hủy các sự kiện dragstart, dragend, drag 


VaKeR 2022