simple example change, (Closes #3108) git-svn-id: http://svn.openlayers.org/trunk/openlayers@11539 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
242 lines
7.3 KiB
JavaScript
242 lines
7.3 KiB
JavaScript
var isEventSupported = (function(undef) {
|
|
|
|
var TAGNAMES = {
|
|
'select':'input',
|
|
'change':'input',
|
|
'submit':'form',
|
|
'reset':'form',
|
|
'error':'img',
|
|
'load':'img',
|
|
'abort':'img'
|
|
};
|
|
|
|
function isEventSupported(eventName, element) {
|
|
element = element || document.createElement(TAGNAMES[eventName] || 'div');
|
|
eventName = 'on' + eventName;
|
|
|
|
var isSupported = (eventName in element);
|
|
|
|
if (!isSupported) {
|
|
// if it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
|
|
if (!element.setAttribute) {
|
|
element = document.createElement('div');
|
|
}
|
|
if (element.setAttribute && element.removeAttribute) {
|
|
element.setAttribute(eventName, '');
|
|
isSupported = typeof element[eventName] == 'function';
|
|
|
|
// if property was created, "remove it" (by setting value to `undefined`)
|
|
if (typeof element[eventName] != 'undefined') {
|
|
element[eventName] = undef;
|
|
}
|
|
element.removeAttribute(eventName);
|
|
}
|
|
}
|
|
|
|
element = null;
|
|
return isSupported;
|
|
}
|
|
|
|
return isEventSupported;
|
|
})();
|
|
|
|
function divResult(category, name, element, div) {
|
|
div.innerHTML = div.innerHTML + category + " " + name + ": ";
|
|
div.innerHTML = div.innerHTML + (
|
|
isEventSupported(name, element)
|
|
? '<span style="background-color:green;color:white;">true</span></td>'
|
|
: '<span style="background-color:red;color:white;">false</span></td>'
|
|
);
|
|
div.innerHTML = div.innerHTML + "<br>";
|
|
}
|
|
var counter = 1;
|
|
|
|
function log(title, detail) {
|
|
var logDiv = document.getElementById("log");
|
|
idString = "'id" + counter + "'";
|
|
var newlink = document.createElement('a');
|
|
newlink.setAttribute('href', "javascript:toggle_visibility(" + idString + ")");
|
|
newlink.innerHTML = counter + ". " + title;
|
|
var br1 = document.createElement('br');
|
|
logDiv.appendChild(newlink);
|
|
logDiv.appendChild(br1);
|
|
|
|
var childDiv = document.createElement('div');
|
|
childDiv.setAttribute("id", idString.replace("'", "").replace("'", ""));
|
|
childDiv.setAttribute("style", 'display: none; margin-left : 5px;');
|
|
childDiv.innerHTML = detail;
|
|
var br2 = document.createElement('br');
|
|
logDiv.appendChild(childDiv);
|
|
|
|
counter = counter + 1;
|
|
}
|
|
|
|
function inspect(obj) {
|
|
if (typeof obj === "undefined") {
|
|
return "undefined";
|
|
}
|
|
var _props = [];
|
|
|
|
for (var i in obj) {
|
|
_props.push(i + " : " + obj[i]);
|
|
}
|
|
return " {" + _props.join(",<br>") + "} ";
|
|
}
|
|
|
|
function click(e) {
|
|
if (document.getElementById("clickID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function dblclick(e) {
|
|
if (document.getElementById("dblclickID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function mousedown(e) {
|
|
if (document.getElementById("mousedownID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function mouseup(e) {
|
|
if (document.getElementById("mouseupID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function mouseover(e) {
|
|
if (document.getElementById("mouseoverID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function mousemove(e) {
|
|
if (document.getElementById("mousemoveID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function mouseout(e) {
|
|
if (document.getElementById("mouseoutID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function touchstart(e) {
|
|
if (document.getElementById("touchstartID").checked) {
|
|
var box = document.getElementById("box");
|
|
var result = inspect(e);
|
|
for (var i = 0; i < e.touches.length; i++) {
|
|
result = result + "<br> Touches nr." + i + " <br>" + inspect(e.touches[i]);
|
|
}
|
|
log(e.type, result);
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function touchend(e) {
|
|
if (document.getElementById("touchendID").checked) {
|
|
var box = document.getElementById("box");
|
|
var result = inspect(e);
|
|
for (var i = 0; i < e.touches.length; i++) {
|
|
result = result + "<br> Touches nr." + i + " <br>" + inspect(e.touches[i]);
|
|
}
|
|
log(e.type, result);
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function touchmove(e) {
|
|
if (document.getElementById("touchmoveID").checked) {
|
|
var targetEvent = e.touches.item(0);
|
|
var box = document.getElementById("box");
|
|
box.style.left = targetEvent.clientX + "px";
|
|
box.style.top = targetEvent.clientY + "px";
|
|
var result = inspect(e);
|
|
for (var i = 0; i < e.touches.length; i++) {
|
|
result = result + "<br> Touches nr." + i + " <br>" + inspect(e.touches[i]);
|
|
}
|
|
log(e.type, result);
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function touchcancel(e) {
|
|
if (document.getElementById("touchcancelID").checked) {
|
|
var box = document.getElementById("box");
|
|
var result = inspect(e);
|
|
for (var i = 0; i < e.touches.length; i++) {
|
|
result = result + "<br> Touches nr." + i + " <br>" + inspect(e.touches[i]);
|
|
}
|
|
log(e.type, result);
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function gesturestart(e) {
|
|
if (document.getElementById("gesturestartID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function gesturechange(e) {
|
|
if (document.getElementById("gesturechangeID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function gestureend(e) {
|
|
if (document.getElementById("gestureendID").checked) {
|
|
var box = document.getElementById("box");
|
|
log(e.type, inspect(e));
|
|
if (e.preventDefault) e.preventDefault();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function toggle_visibility(id) {
|
|
var e = document.getElementById(id);
|
|
if (e.style.display == 'block') {
|
|
e.style.display = 'none';
|
|
} else {
|
|
e.style.display = 'block';
|
|
}
|
|
}
|
|
|
|
|
|
|