# event

Event handling utilities for DOM events, drag, and keyboard.

## Functions

| Function | Description | Example |
|----------|-------------|---------|
| `list` | Show attached event listeners | `dphelper.event.list(element)` |
| `multi` | Attach multiple events | `dphelper.event.multi(element, 'click hover', handler)` |
| `copy` | Click copy element text | to `dphelper.event.copy('#element')` |
| `onDrag` | Handle element dragging | `dphelper.event.onDrag('.popup')` |
| `keys` | Get keyboard event properties | `dphelper.event.keys(e)` |

## Description

Complete event utilities:
- **Multi Events** - Attach multiple events at once
- **Drag** - Drag and drop handling
- **Copy** - Click to copy to clipboard
- **Keyboard** - Key event properties

## Usage Examples

### Multiple Event Listeners

```javascript
// Attach multiple events
dphelper.event.multi(
  document.querySelector('#button'),
  'click hover focus',
  (e) => console.log(e.type)
);
```

### Copy to Clipboard

```javascript
// Click element to copy its text
dphelper.event.copy('#text-to-copy');

// User clicks, text is copied to clipboard
```

### Keyboard Events

```javascript
// Get keyboard event properties
document.addEventListener('keydown', (e) => {
  const keys = dphelper.event.keys(e);

  console.log(keys.key);    // 'a', 'Enter', 'Escape'
  console.log(keys.ctrl);  // true/false
  console.log(keys.alt);   // true/false
  console.log(keys.shift); // true/false

  // Check for shortcuts
  if (keys.ctrl && keys.key === 's') {
    e.preventDefault();
    save();
  }
});
```

### Drag and Drop

```javascript
// Enable dragging
dphelper.event.onDrag('.draggable-popup');

// Element can now be dragged
// Position saved to localStorage
```

## Details

- **Author:** Dario Passariello
- **Version:** 0.0.2
- **Creation Date:** 20210101
- **Last Modified:** 20260220
- **Environment:** Client-side only (browser)

---

*Automatically generated document*
