Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/2.3.22/rx.all.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
    <button id="button">Click me</button>
</body>
</html>
 
var Observable = Rx.Observable;
var button = document.getElementById('button');
/*
var handler = function(e) {
    alert('clicked');
    button.removeEventListener('click', handler);
};
button.addEventListener('click', handler);
*/
var clicks = Observable.fromEvent(button, 'click');
var points = 
    clicks.map(function(e) {
        return {x: e.clientX, y: e.clientY};
    });
var subscription = 
    points.forEach(
        function onNext(point) {
            alert('clicked:' + JSON.stringify(point));
            //subscription.dispose();
        },
        function onError(error) {                       
            console.log('ERROR!');
        },
        function onCompleted() {
            console.log("done");
        });
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
amitjain1307pro
0viewers