Adding events 2: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
The user-defined functions are called additionally to the default JSXGraph events. For the events "down" and "up" the user-supplied event handlers are called before the default JSXGraph event handler.  For the event "update" the user-supplied  handler is called after the default JSXGraph event handler which is an update of the board.
The user-defined functions are called additionally to the default JSXGraph events. For the events "down" and "up" the user-supplied event handlers are called before the default JSXGraph event handler.  For the event "update" the user-supplied  handler is called after the default JSXGraph event handler which is an update of the board.


An user-supplied event handler can be defined by the method "on":
A user-supplied event handler can be defined by the method "on":
<source lang="javascript">
<source lang="javascript">
   var p = board.create('point',[1,1]);
   var p = board.create('point',[1,1]);
   p.on('update', function(){ /* do something ... */);
   p.on('update', function(e, i){ /* do something ... */);
</source>
</source>
The possible events  are
The possible events  are
* update
* hit, mousehit
* drag, mousedrag, touchdrag
* drag, mousedrag, touchdrag
* move, mousemove, touchmove
* move, mousemove, touchmove
Line 23: Line 21:
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-4,4,4,-4], keepaspectratio:true});
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-4,4,4,-4], keepaspectratio:true});
var myPoint = brd.create('point',[1,1], {size:5, fixed: true});
var myPoint = brd.create('point',[1,1], {size:5, fixed: true});
myPoint.on('over', function(){
myPoint.on('over', function(e){
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
});
myPoint.on('out', function(){
myPoint.on('out', function(e){
     document.getElementById('myOutput').innerHTML = '&nbsp;';
     document.getElementById('myOutput').innerHTML = '&nbsp;';
});
});


var myPoint2 = brd.create('point',[-1,1], {size:5});
var myPoint2 = brd.create('point',[-1,1], {size:5});
myPoint2.on('over', function(){
myPoint2.on('over', function(e){
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
});
myPoint2.on('out', function(){
myPoint2.on('out', function(e){
     document.getElementById('myOutput').innerHTML = '&nbsp;';
     document.getElementById('myOutput').innerHTML = '&nbsp;';
});
});
Line 46: Line 44:
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-4,4,4,-4], keepaspectratio:true});
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-4,4,4,-4], keepaspectratio:true});
var myPoint = brd.create('point',[1,1], {size:5, fixed: true});
var myPoint = brd.create('point',[1,1], {size:5, fixed: true});
myPoint.on('over', function(){
myPoint.on('over', function(e){
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
});
myPoint.on('out', function(){
myPoint.on('out', function(e){
     document.getElementById('myOutput').innerHTML = '&nbsp;';
     document.getElementById('myOutput').innerHTML = '&nbsp;';
});
});


var myPoint2 = brd.create('point',[-1,1], {size:5});
var myPoint2 = brd.create('point',[-1,1], {size:5});
myPoint2.on('over', function(){
myPoint2.on('over', function(e){
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
     document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
});
myPoint2.on('out', function(){
myPoint2.on('out', function(e){
     document.getElementById('myOutput').innerHTML = '&nbsp;';
     document.getElementById('myOutput').innerHTML = '&nbsp;';
});</source>
});</source>


[[Category:Examples]]
[[Category:Examples]]

Latest revision as of 15:15, 24 March 2020

It is possible to supply user-defined defined functions for certain events. The user-defined functions are called additionally to the default JSXGraph events. For the events "down" and "up" the user-supplied event handlers are called before the default JSXGraph event handler. For the event "update" the user-supplied handler is called after the default JSXGraph event handler which is an update of the board.

A user-supplied event handler can be defined by the method "on":

   var p = board.create('point',[1,1]);
   p.on('update', function(e, i){ /* do something ... */);

The possible events are

  • drag, mousedrag, touchdrag
  • move, mousemove, touchmove
  • over, mouseover
  • out, mouseout
  • up, mouseup, touchend
  • down, mousedown, touchstart

 

<p id="myOutput">&nbsp;</p>
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-4,4,4,-4], keepaspectratio:true});
var myPoint = brd.create('point',[1,1], {size:5, fixed: true});
myPoint.on('over', function(e){
    document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
myPoint.on('out', function(e){
    document.getElementById('myOutput').innerHTML = '&nbsp;';
});

var myPoint2 = brd.create('point',[-1,1], {size:5});
myPoint2.on('over', function(e){
    document.getElementById('myOutput').innerHTML = "Point "+this.name;
});
myPoint2.on('out', function(e){
    document.getElementById('myOutput').innerHTML = '&nbsp;';
});