# browser_dispatch_event

**Browser Dispatch Event**

Dispatch a DOM event on an element. Programmatically triggers events like 'input', 'change', 'focus', 'blur', 'submit', etc. Useful for triggering event handlers after programmatic value changes, or for simulating user interactions that don't involve mouse/keyboard input.

## Usage Example

### CURL

```bash
curl -X POST \
 -H "Authorization: Bearer <token>" \
 -H "Content-Type: application/json" \
 -d '{
  "context_id": "ctx_000001",
  "selector": "#element-id",
  "event_type": "<event_type>"
}' \
http://localhost:8080/api/execute/browser_dispatch_event
```

### Python SDK

```python
import asyncio
from owl_browser import OwlBrowser, RemoteConfig

# Async usage
async with OwlBrowser(config) as browser:
    context = await browser.create_context()
    context_id = context["context_id"]
    await browser.dispatch_event(
        context_id=context_id,
        selector="#element-id",
        event_type="value"
    )
```

### Node.js SDK

```javascript
import { OwlBrowser } from '@olib-ai/owl-browser-sdk';

// Async usage
const ctx = await browser.createContext();
const contextId = ctx.context_id;
await browser.dispatchEvent({
    context_id: contextId,
    selector: '#element-id',
    event_type: 'value'
});
```

## Parameters

### Required

- `context_id` **string**  required  
  The unique identifier of the browser context (e.g., 'ctx_000001')
- `selector` **string**  required  
  CSS selector or natural language description of the element to dispatch the event on
- `event_type` **string**  required  
  The DOM event type to dispatch (e.g., 'click', 'input', 'change', 'focus', 'blur', 'submit', 'mouseenter', 'mouseleave'). Any valid DOM event name is accepted

### Optional

- `bubbles` **boolean**  
  Whether the event should bubble up through the DOM tree. Default: true

## Response

Returns a JSON object with the operation result.

```json
{
  "success": true,
  "result": <value>
}
```
