HTML::DOM::Event::Mutation - A Perl class for HTML DOM mutation event objects


HTML-DOM documentation Contained in the HTML-DOM distribution.

Index


Code Index:

NAME

Top

HTML::DOM::Event::Mutation - A Perl class for HTML DOM mutation event objects

SYNOPSIS

Top

  # ...

DESCRIPTION

Top

This class provides MutationEvent objects for HTML::DOM, which objects are passed to event handlers for certain event types when they are invoked. It inherits from HTML::DOM::Event.

METHODS

Top

See also those inherited from HTML::DOM::Event.

DOM Attributes

These are all read-only and ignore their arguments.

relatedNode

This holds the parent node for DOMNodeInserted and DOMNodeRemoved events, and the Attr node involved for a DOMAttrModified event.

prevValue

The previous value for DOMAttrModified and DOMCharacterDataModified events.

newValue

The new value for the same two event types.

attrName

The name of the affected attribute for DOMAttrModified events.

attrChange

Other Methods

initMutationEvent ( $name, $propagates_up, $cancellable, $rel_node, $prev_value, $new_value, $attr_name, $attr_change_type )

This initialises the event object. See initEvent in HTML::DOM::Event for more detail.

init ( ... )

Alternative to initMutationEvent that's easier to use:

  init $event
      type => $type,
      propagates_up => 1,
      cancellable => 1,
      rel_node => $node,
      new_value => $foo,
      prev_value => $bar,
      attr_name => $name,
      attr_change_type => HTML::DOM::Event::Mutation::REMOVAL,
  ;

EXPORTS

Top

The following constants are exported upon request, either individually or with the ':all' tag. They indicated the type of change that a DOMAttrModified event represents.

SEE ALSO

Top

HTML::DOM

HTML::DOM::Event

HTML::DOM::Event::Mouse


HTML-DOM documentation Contained in the HTML-DOM distribution.

package HTML::DOM::Event::Mutation;

our $VERSION = '0.048';

use warnings; no warnings qw 'utf8 parenthesis';
use strict;

require HTML::DOM::Event;
our @ISA = HTML::DOM::Event::;

use constant 1.03 { ADDITION=>2, MODIFICATION=>1, REMOVAL=>3 };

use Exporter 5.57 'import';
our @EXPORT_OK = qw 'ADDITION MODIFICATION REMOVAL';
our %EXPORT_TAGS = (all => \@EXPORT_OK);


sub relatedNode          { $_[0]{rel_node      }||() }
sub prevValue        { $_[0]{prev_value    } }
sub newValue          { $_[0]{new_value      } }
sub attrName        { $_[0]{attr_name   } }
sub attrChange        { $_[0]{attr_change_type    } }

sub initMutationEvent {
	my $self = $_[0];
	my $x;
	$self->init(map +($_ => $_[++$x]),
		qw( type propagates_up cancellable rel_node prev_value
                    new_value attr_name attr_change_type )
	);
	return;
}

sub init {
	my $self = shift;
	my %args = @_;
	my %my_args = map +($_ => delete $args{$_}),
		qw( rel_node prev_value new_value attr_name
		    attr_change_type );
	$self->SUPER::init(%args);
	%$self = (%$self, %my_args);
	return;
}


*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|||*|

__END__