# j-Exec

> Die Komponente führt eine Methode aus, wenn der Benutzer auf dasselbe Element mit der Klasse exec, exec2 oder exec3 klickt. Weitere Informationen finden Sie weiter unten. Die Komponente ist ein Singleton und funktioniert für den gesamten HTML-Code

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: de
Content-SHA256: d1fb4437ba8b1d5a4cdec91edd636ec528075ccc568ba0569b371507f8fbe80c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Die Komponente führt eine Methode durch, wenn der Benutzer auf das gleiche Element mit der `exec`, `exec2`, oder `exec3` Klasse klickt.

__Elemente__:
- Elemente können ein `data-exec`-Attribut mit einem Methodenenname enthalten, das ausgeführt wird, wenn der Benutzer auf das Element klickt.
- Elemente können `data-href`-Attribute enthalten und die Komponente erfüllt `REDIRECT()`.

__Attribute__:
- `data-exec="METHOD_NAME"` führt eine Methode durch, wenn der Benutzer klickt (Support Plugin-Anrufe über `?` Charakter)
- `data-prevent="true"` verhindert die Fortsetzung des `click`
- `data-href="URL"` führt `REDIRECT()` aus

__Attribute für den Doppelklick__:
- `data-exec2="METHOD_NAME"` führt eine Methode durch, wenn der Benutzer klickt (Support Plugin-Anrufe über `?` Charakter)
- `data-prevent2="true"` verhindert die Fortsetzung des `click`
- `data-href2="URL"` führt `REDIRECT()` aus

__Attribute für das Kontextmenü__:
- `data-exec3="METHOD_NAME"` führt eine Methode durch, wenn der Benutzer klickt (Support Plugin-Anrufe über `?` Charakter)
- `data-href3="URL"` führt `REDIRECT()` aus

__Gut zu wissen__:

- die Komponente führt eine Zielfunktion in der Form `function(element, event)` aus
- `data-exec=`, `data-exec2=`, `data-exec3=` kann `@METHOD_NAME` enthalten, die in den aktuellen Komponenten-Plugins `component/METHOD_NAME(element, e)` ausgeführt werden


__Neues: Erweiterungen__:

```js
SETTER('exec/register', function(exec, el, e, type) {

	// @exec {String} a value from data-exec
	// @el {jQuery element}
	// @e {Event}
	// @type {String} empty '': click, '2': double-click '3': context menu
	// registers a new extension

	if (exec.charAt(0) === '/') {

		EXEC('customplugin/' + exec.substring(1), el, e);

		// "return true" stops the next processing of Exec
		return true;

	}

});
```

Verwenden Sie es mit `<ui-component name="exec">`. Wenn die Komponente noch nicht geladen ist, lädt jComponent sie bei der ersten Verwendung von der Adresse in `DEF.fallback` herunter (standardmäßig das CDN Componentator). Autor: Peter Širka. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.

```html example.html
<ui-component name="exec"></ui-component>
<a href="javascript:void(0)" class="exec" data-exec="myClick">1</a>
<a href="javascript:void(0)" class="exec" data-exec="myClick">2</a>
<p class="exec" data-exec="myClick">3</p>
<span class="exec" data-exec="myClick">4</span>
<div class="exec" data-exec="myClick">5</div>

<script>
	function myClick(el) {
        alert('CLICK: ' + el.html());
    }
</script>
```
