TinyMCE_Event.class.js
Summary
No overview generated for 'TinyMCE_Event.class.js'
TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
var events = new Array('onfocus','onblur','onclick','ondblclick',
'onmousedown','onmouseup','onmouseover','onmousemove',
'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');
var evs = tinyMCE.settings['event_elements'].split(',');
for (var y=0; y<evs.length; y++){
var elms = node.getElementsByTagName(evs[y]);
for (var i=0; i<elms.length; i++) {
var event = "";
for (var x=0; x<events.length; x++) {
if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
event = tinyMCE.cleanupEventStr("" + event);
if (!state)
event = "return true;" + event;
else
event = event.replace(/^return true;/gi, '');
elms[i].removeAttribute(events[x]);
elms[i].setAttribute(events[x], event);
}
}
}
}
};
TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
if (typeof(tinyMCE) == "undefined")
return true;
for (var i=0; i<document.frames.length; i++) {
try {
if (document.frames[i].event) {
var event = document.frames[i].event;
if (!event.target)
event.target = event.srcElement;
TinyMCE_Engine.prototype.handleEvent(event);
return;
}
} catch (ex) {
}
}
};
TinyMCE_Engine.prototype.unloadHandler = function() {
tinyMCE.triggerSave(true, true);
};
TinyMCE_Engine.prototype.addEventHandlers = function(editor_id) {
if (tinyMCE.isMSIE) {
var doc = document.frames[editor_id].document;
tinyMCE.addEvent(doc, "keypress", TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(doc, "keyup", TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(doc, "keydown", TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(doc, "mouseup", TinyMCE_Engine.prototype._eventPatch);
tinyMCE.addEvent(doc, "click", TinyMCE_Engine.prototype._eventPatch);
} else {
var inst = tinyMCE.instances[editor_id];
var doc = inst.getDoc();
inst.switchSettings();
tinyMCE.addEvent(doc, "keypress", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "keydown", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "keyup", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "click", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "mouseup", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "mousedown", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "focus", tinyMCE.handleEvent);
tinyMCE.addEvent(doc, "blur", tinyMCE.handleEvent);
eval('try { doc.designMode = "On"; } catch(e) {}');
}
};
TinyMCE_Engine.prototype.onMouseMove = function() {
var inst;
if (!tinyMCE.hasMouseMoved) {
inst = tinyMCE.selectedInstance;
if (inst.isFocused) {
inst.undoBookmark = inst.selection.getBookmark();
tinyMCE.hasMouseMoved = true;
}
}
};
TinyMCE_Engine.prototype.cancelEvent = function(e) {
if (tinyMCE.isMSIE) {
e.returnValue = false;
e.cancelBubble = true;
} else
e.preventDefault();
};
TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
if (o.attachEvent)
o.attachEvent("on" + n, h);
else
o.addEventListener(n, h, false);
};
TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
if (!s._isAccessible) {
s.onkeydown = tinyMCE.accessibleEventHandler;
s.onblur = tinyMCE.accessibleEventHandler;
s._isAccessible = true;
s._win = w;
}
return false;
};
TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
var win = this._win;
e = tinyMCE.isMSIE ? win.event : e;
var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
if (e.type == "blur") {
if (elm.oldonchange) {
elm.onchange = elm.oldonchange;
elm.oldonchange = null;
}
return true;
}
if (elm.nodeName == "SELECT" && !elm.oldonchange) {
elm.oldonchange = elm.onchange;
elm.onchange = null;
}
if (e.keyCode == 13 || e.keyCode == 32) {
elm.onchange = elm.oldonchange;
elm.onchange();
elm.oldonchange = null;
tinyMCE.cancelEvent(e);
return false;
}
return true;
};
Documentation generated by
JSDoc on Fri Feb 24 13:38:20 2006