javawebparts.taglib.jstags
Class DisableRightClickTag
java.lang.Object
|
+--javax.servlet.jsp.tagext.TagSupport
|
+--javawebparts.taglib.jstags.DisableRightClickTag
- All Implemented Interfaces:
- javax.servlet.jsp.tagext.IterationTag, java.io.Serializable, javax.servlet.jsp.tagext.Tag
- public class DisableRightClickTag
- extends javax.servlet.jsp.tagext.TagSupport
This class is a custom tag that renders the JWPDisableRightClick()
Javascript function which can be called to disable (or enable if previously
disabled) the ability for a user to bring up a right-click context menu.
This tag uses the following attributes:
renderScriptTags - true/false - When set to true, the Javascript will be
rendered inside a <script> </script> tag pair. When set to
false, this will not be done and it is expected that the
<jstags:fullTrim/> tag appears inside a
<script> </script> tag pair. If this attribute is not present,
the script tags WILL be rendered.
It renders the following Javascript:
function JWPDisableRightClick(jwpdrc_inDisable) {
isIE = document.all;
isNN =! document.all && document.getElementById;
isN4 = document.layers;
if (jwpdrc_inDisable) {
if (isIE || isNN) {
document.oncontextmenu = JWPDisableRightClickHandler;
} else {
document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);
document.onmousedown = JWPDisableRightClickHandler;
}
} else {
if (isIE || isNN) {
document.oncontextmenu = null;
} else {
document.onmousedown = null;
}
}
}
function JWPDisableRightClickHandler(jwpdrc_e) {
isN4 = document.layers;
if (isN4) {
if (jwpdrc_e.which==2 || jwpdrc_e.which==3) {
return false;
}
} else {
return false;
}
}
Usage example:
JWPDisableRightClick(true);
This will disable the right-click context menu.
JWPDisableRightClick(false);
This will enable the right-click context menu. Note that passing nothing
will act the same as passing false.
- Author:
- Frank W. Zammetti.
- See Also:
- Serialized Form
Field Summary |
private static org.apache.commons.logging.Log |
log
Log instance. |
private java.lang.String |
renderScriptTags
Whether to render the opening and closing script tags around the
emitted Javascript. |
Fields inherited from class javax.servlet.jsp.tagext.TagSupport |
id, pageContext |
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag |
EVAL_BODY_AGAIN |
Fields inherited from interface javax.servlet.jsp.tagext.Tag |
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
Method Summary |
int |
doStartTag()
Render the results of the tag. |
void |
setRenderScriptTags(java.lang.String inRenderScriptTags)
renderScriptTags mutator. |
Methods inherited from class javax.servlet.jsp.tagext.TagSupport |
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
private static org.apache.commons.logging.Log log
- Log instance.
renderScriptTags
private java.lang.String renderScriptTags
- Whether to render the opening and closing script tags around the
emitted Javascript.
DisableRightClickTag
public DisableRightClickTag()
setRenderScriptTags
public void setRenderScriptTags(java.lang.String inRenderScriptTags)
- renderScriptTags mutator.
- Parameters:
inRenderScriptTags
- renderScriptTags.
doStartTag
public int doStartTag()
throws javax.servlet.jsp.JspException
- Render the results of the tag.
- Specified by:
doStartTag
in interface javax.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in class javax.servlet.jsp.tagext.TagSupport
- Returns:
- Return code.
- Throws:
javax.servlet.jsp.JspException
- If anything goes wrong
Copyright © 2005 Frank W. Zammetti