Print Friendly

# Class Ext.util.ClickRepeater

Package: | Ext.util
Class: | ClickRepeater
Extends: | Observable
Defined In: | ClickRepeater.js

A wrapper class which can be applied to any element. Fires a "click" event while the mouse is pressed. The interval between firings may be specified in the config but defaults to 10 milliseconds. Optionally, a CSS class may be applied to the element during the time it is pressed.
Properties - Methods - Events - Config Options

## Public Properties

This class has no public properties.

## Public Methods

Method | Defined By
--- | ---
| ClickRepeater(`String/HTMLElement/Element el`, `Object config`) | ClickRepeater
| addEvents(`Object object`) : void | Observable
Copies any events from the passed object onto this object if they do not already exist. The passed object must also ...
| addListener(`String eventName`, `Function handler`, [`Object scope`], [`Object options`]) : void | Observable
Appends an event handler to this component
| fireEvent(`String eventName`, `Object... args`) : Boolean | Observable
Fires the specified event with the passed parameters (minus the event name).
| hasListener(`String eventName`) : Boolean | Observable
Checks to see if this object is currently listening for a specified event
| on(`String eventName`, `Function handler`, [`Object options`]) : void | Observable
Appends an event handler to this element (shorthand for addListener)
| purgeListeners() : void | Observable
Removes all listeners for this object
| removeListener(`String eventName`, `Function handler`, [`Object scope`]) : void | Observable
Removes a listener
| un(`String eventName`, `Function handler`, [`Object scope`]) : void | Observable
Removes a listener (shorthand for removeListener)

## Public Events

Event | Defined By
--- | ---
| click : (`Ext.util.ClickRepeater this`) | ClickRepeater
Fires on a specified interval during the time the element is pressed.
| mousedown : (`Ext.util.ClickRepeater this`) | ClickRepeater
Fires when the mouse button is depressed.
| mouseup : (`Ext.util.ClickRepeater this`) | ClickRepeater
Fires when the mouse key is released.

## Config Options

Config Options | Defined By
--- | ---
| accelerate : Boolean | ClickRepeater
True if autorepeating should start slowly and accelerate. "interval" and "delay" are ignored. "immediate" is honored.
| delay : Number | ClickRepeater
The initial delay before the repeating event begins firing. Similar to an autorepeat key delay.
| el : String/HTMLElement/Element | ClickRepeater
The element to act as a button.
| interval : Number | ClickRepeater
The interval between firings of the "click" event. Default 10 ms.
| pressClass : String | ClickRepeater
A CSS class name to be applied to the element while pressed.
| preventDefault : Boolean | ClickRepeater
True to prevent the default click event
| stopDefault : Boolean | ClickRepeater
True to stop the default click event

## Constructor Details

### ClickRepeater

`public function ClickRepeater(`String/HTMLElement/Element el`, `Object config`)`
Parameters:

- `el` : String/HTMLElement/Element
  The element to listen on
- `config` : Object

## Method Details

### addEvents

`public function addEvents(`Object object`)`
Copies any events from the passed object onto this object if they do not already exist. The passed object must also inherit from Observable for this method to have any effect.
Parameters:

- `object` : Object
  The object from which to copy events

Returns:

- `void`

This method is defined by Observable.

### addListener

`public function addListener(`String eventName`, `Function handler`, [`Object scope`], [`Object options`])`
Appends an event handler to this component
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `scope` : Object
  (optional) The scope in which to execute the handler function. The handler function's "this" context.
- `options` : Object
  (optional) An object containing handler configuration properties. This may contain any of the following properties:
  - scope {Object} The scope in which to execute the handler function. The handler function's "this" context.
  - delegate {String} A simple selector to filter the target or look for a descendant of the target
  - stopEvent {Boolean} True to stop the event. That is stop propagation, and prevent the default action.
  - preventDefault {Boolean} True to prevent the default action
  - stopPropagation {Boolean} True to prevent event propagation
  - normalized {Boolean} False to pass a browser event to the handler function instead of an Ext.EventObject
  - delay {Number} The number of milliseconds to delay the invocation of the handler after te event fires.
  - single {Boolean} True to add a handler to handle just the next firing of the event, and then remove itself.
  - buffer {Number} Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place.

  Combining Options
  Using the options argument, it is possible to combine different types of listeners:
  A normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)

  Code:

      el.on('click', this.onClick, this, { single: true, delay: 100, stopEvent : true, forumId: 4 });

  The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.

  Attaching multiple handlers in 1 call
  Code:

      el.on({ 'click' : { fn: this.onClick scope: this, delay: 100 }, 'mouseover' : { fn: this.onMouseOver scope: this }, 'mouseout' : { fn: this.onMouseOut scope: this } });

  Or a shorthand syntax:
  Code:

      el.on({ 'click' : this.onClick, 'mouseover' : this.onMouseOver, 'mouseout' : this.onMouseOut scope: this });

Returns:

- `void`

This method is defined by Observable.

### fireEvent

`public function fireEvent(`String eventName`, `Object... args`)`
Fires the specified event with the passed parameters (minus the event name).
Parameters:

- `eventName` : String
- `args` : Object...
  Variable number of parameters are passed to handlers

Returns:

- `Boolean`
  returns false if any of the handlers return false otherwise it returns true

This method is defined by Observable.

### hasListener

`public function hasListener(`String eventName`)`
Checks to see if this object is currently listening for a specified event
Parameters:

- `eventName` : String
  The name of the event to check for

Returns:

- `Boolean`
  True if the event is being listened for, else false

This method is defined by Observable.

### on

`public function on(`String eventName`, `Function handler`, [`Object options`])`
Appends an event handler to this element (shorthand for addListener)
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `options` : Object
  (optional)

Returns:

- `void`

This method is defined by Observable.

### purgeListeners

`public function purgeListeners()`
Removes all listeners for this object
Parameters:

- None.

Returns:

- `void`

This method is defined by Observable.

### removeListener

`public function removeListener(`String eventName`, `Function handler`, [`Object scope`])`
Removes a listener
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The handler to remove
- `scope` : Object
  (optional) The scope (this object) for the handler

Returns:

- `void`

This method is defined by Observable.

### un

`public function un(`String eventName`, `Function handler`, [`Object scope`])`
Removes a listener (shorthand for removeListener)
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The handler to remove
- `scope` : Object
  (optional) The scope (this object) for the handler

Returns:

- `void`

This method is defined by Observable.

## Event Details

### click

`public event click`
Fires on a specified interval during the time the element is pressed.
Subscribers will be called with the following parameters:

- `this` : Ext.util.ClickRepeater

This event is defined by ClickRepeater.

### mousedown

`public event mousedown`
Fires when the mouse button is depressed.
Subscribers will be called with the following parameters:

- `this` : Ext.util.ClickRepeater

This event is defined by ClickRepeater.

### mouseup

`public event mouseup`
Fires when the mouse key is released.
Subscribers will be called with the following parameters:

- `this` : Ext.util.ClickRepeater

This event is defined by ClickRepeater.

## Config Details

### accelerate

`accelerate : Boolean`
True if autorepeating should start slowly and accelerate. "interval" and "delay" are ignored. "immediate" is honored.
This config option is defined by ClickRepeater.

### delay

`delay : Number`
The initial delay before the repeating event begins firing. Similar to an autorepeat key delay.
This config option is defined by ClickRepeater.

### el

`el : String/HTMLElement/Element`
The element to act as a button.
This config option is defined by ClickRepeater.

### interval

`interval : Number`
The interval between firings of the "click" event. Default 10 ms.
This config option is defined by ClickRepeater.

### pressClass

`pressClass : String`
A CSS class name to be applied to the element while pressed.
This config option is defined by ClickRepeater.

### preventDefault

`preventDefault : Boolean`
True to prevent the default click event
This config option is defined by ClickRepeater.

### stopDefault

`stopDefault : Boolean`
True to stop the default click event
This config option is defined by ClickRepeater.

Ext - Copyright © 2006-2007 Ext JS, LLC
All rights reserved.