<html>
<head>
	<title>Leaflet</title>
	<link rel="stylesheet" href="/leaflet/leaflet.css" />
	<script src="/leaflet/leaflet.js"></script>
	<script src="../layer/vector/GPX.js"></script>
</head>
<body>
	<!-- define a DIV into which the map will appear. Make it take up the whole window -->
	<div style="width:100%; height:100%" id="map"></div>
<script type='text/javascript'>
var map = new L.Map('map', {center: new L.LatLng(58.4, 43.0), zoom: 11});
var osm = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');

var track = new L.GPX("fells_loop.gpx", {async: true});
track.on("loaded", function(e) { map.fitBounds(e.target.getBounds()); });

map.addLayer(track);
map.addLayer(osm);
map.addControl(new L.Control.Layers({}, {'GPX':track}));
</script>
 
</body>
</html>

<html>
<head>
	<title>Leaflet</title>
	<link rel="stylesheet" href="/leaflet/leaflet.css" />
	<script src="/leaflet/leaflet.js"></script>
	<script src="../layer/vector/GPX.js"></script>
</head>
<body>
	<!-- define a DIV into which the map will appear. Make it take up the whole window -->
	<div style="width:100%; height:100%" id="map"></div>
<script type='text/javascript'>
var map = new L.Map('map', {center: new L.LatLng(58.4, 43.0), zoom: 11});
var osm = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');

var track = new L.GPX("fells_loop.gpx", {async: true})
			.on("loaded", function(e) { map.fitBounds(e.target.getBounds()); });

map.addLayer(track);
map.addLayer(osm);
map.addControl(new L.Control.Layers({}, {'GPX':track}));
</script>
 
</body>
</html>

Use shorter form of event binding in GPX
examples: Use shorter form of event binding in GPX
