keypress example


HTML document 

<html>

<head>
<title>example</title>
<SCRIPT>
function diputreeOnKeypress() {
 var diputree = parent.frames["diputree"].document.diputree;

 // event
 var docElement = "#/1";
 var pEvent = "#xpointer(hasevent/*)";
 var event = diputree.lookup (docElement, pEvent);

 // unicode
 var pUnicode = diputree.lookup(event,"#xpointer(hasunicode/unicode/i)");
 if (pUnicode=="") {
  document.outputForm.unicodeField.value = "";
 } else {
  var unicode = diputree.getValue(pUnicode);
  document.outputForm.unicodeField.value = unicode;
 }

 // action
 var pAction = diputree.lookup(event,"#xpointer(hasaction/*)");
 if (pAction=="") {
  document.outputForm.actionField.value = "";
 } else {
  var action = diputree.getName(pAction);
  document.outputForm.actionField.value = action;
 }

 // first modifier
 var pModifier = diputree.lookup(event,"#xpointer(hasmodifier/*)");
 if (pModifier=="") {
  document.outputForm.modifierField.value = "";
 } else {
  var modifier = diputree.getName(pModifier);
  document.outputForm.modifierField.value = modifier;
 }

}
</SCRIPT>
</head>

<body>

<form name="outputForm" id="outputForm">
<p>unicode:
<P><input type="text" name="unicodeField" id="unicodeField">
<p>action:
<P><input type="text" name="actionField" id="actionField">
<p>modifier:
<P><input type="text" name="modifierField" id="modifierField">
</form>

</body>
</html>

Explanation

The event that occurred, this will be a keypress event because we only listen for keypress events.

  // event
  var docElement = "#/1";
  var pEvent = "#xpointer(hasevent/*)";
  var event = diputree.lookup (docElement, pEvent);

The unicode character value, if applicable (action keys do not have unicode values).

// unicode
  var pUnicode = diputree.lookup(event,"#xpointer(hasunicode/unicode/i)");
  if (pUnicode=="") {
  document.outputForm.unicodeField.value = "";
  } else {
  var unicode = diputree.getValue(pUnicode);
  document.outputForm.unicodeField.value = unicode;
  }

The action, if applicable.

 // action
  var pAction = diputree.lookup(event,"#xpointer(hasaction/*)");
  if (pAction=="") {
  document.outputForm.actionField.value = "";
  } else {
  var action = diputree.getName(pAction);
  document.outputForm.actionField.value = action;
  }

The first modifier, if you want all the modifiers you need to use lookupAll().


  // first modifier
  var pModifier = diputree.lookup(event,"#xpointer(hasmodifier/*)");
  if (pModifier=="") {
  document.outputForm.modifierField.value = "";
  } else {
  var modifier = diputree.getName(pModifier);
  document.outputForm.modifierField.value = modifier;
  }


diputree documentation © 2000 dipu