// SCRIPT tag added by Instant Source (for syntax highlighting).
function defaultAction(actionName){
var method = "on"+actionName+"()";
try{
execFrameAction(contentframe,method);
}
catch (e){
if (isNoObjectError(e)){
alert("????????"+method+"????");
return true;
}
else{
alert(e);
}
}
}
//????????????????
function defaultRefresh(){
if(methodI *** sit( contentframe,'doRefresh()' )){
try{
execFrameAction(contentframe,"doRefresh()");
}
catch (e){}
}
else{
contentframe.location.reload();
}
}
function createButton(el) {
el.attachEvent("onmouseover", createButton.overToolBarButton);
el.attachEvent("onmouseout", createButton.outToolBarButton);
el.attachEvent("onmousedown", createButton.downToolBarButton);
el.attachEvent("onmouseup", createButton.upToolBarButton);
el.attachEvent("onclick", createButton.clickToolBarButton);
el.attachEvent("ondblclick", createButton.clickToolBarButton);
el.attachEvent("onkeypress", createButton.keypressToolBarButton);
el.attachEvent("onkeyup", createButton.keyupToolBarButton);
el.attachEvent("onkeydown", createButton.keydownToolBarButton);
el.attachEvent("onfocus", createButton.focusToolBarButton);
el.attachEvent("onblur", createButton.blurToolBarButton);
el.className = "toolBarButton";
//特别是这部份,真的难以理解el怎么可以设置那么多属 *** ,也没有在那里定义过这些属 *** 呀
el.setEnabled = createButton.setEnabled;
el.getEnabled = createButton.getEnabled;
el.setValue = createButton.setValue;
el.getValue = createButton.getValue;
el.setToggle = createButton.setToggle;
el.getToggle = createButton.getToggle;
el.setAlwaysUp = createButton.setAlwaysUp;
el.getAlwaysUp = createButton.getAlwaysUp;
el._enabled = true;
el._toggle = false;
el._value = false;
el._alwaysUp = false;
return el;
};
createButton.LEFT = window.moz ? 0 : 1;
createButton.overToolBarButton = function () {
var toEl = createButton.getParentToolBarButton(window.event.toElement);
var fromEl = createButton.getParentToolBarButton(window.event.fromElement);
if (toEl == fromEl || toEl == null) return;
toEl._over = true;
if (!toEl._enabled) return;
createButton.setClassName(toEl);
};
createButton.outToolBarButton = function () {
var toEl = createButton.getParentToolBarButton(window.event.toElement);
var fromEl = createButton.getParentToolBarButton(window.event.fromElement);
if (toEl == fromEl || fromEl == null) return;
fromEl._over = false;
fromEl._down = false;
if (!fromEl._enabled) return;
createButton.setClassName(fromEl);
};
createButton.downToolBarButton = function () {
if (window.event.button != createButton.LEFT) return;
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null) return;
el._down = true;
if (!el._enabled) return;
createButton.setClassName(el);
};
createButton.upToolBarButton = function () {
if (window.event.button != createButton.LEFT) return;
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null) return;
el._down = false;
if (!el._enabled) return;
if (el._toggle)
el.setValue(!el._value);
else
createButton.setClassName(el);
};
createButton.clickToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
el.onaction = el.getAttribute("onaction");
if (el == null || !el._enabled || el.onaction == "" || el.onaction == null) return;
if (typeof el.onaction == "string")
el.onaction = new Function ("event", el.onaction);
el.onaction(window.event);
};
createButton.keypressToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null || !el._enabled || window.event.keyCode != 13) return;
el.setValue(!el._value);
if (el.onaction == null) return;
if (typeof el.onaction == "string")
el.onaction = new Function ("event", el.onaction);
el.onaction(window.event);
};
createButton.keydownToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null || !el._enabled || window.event.keyCode != 32) return;
createButton.downToolBarButton();
};
createButton.keyupToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null || !el._enabled || window.event.keyCode != 32) return;
createButton.upToolBarButton();
if (el.onaction == null) return;
if (typeof el.onaction == "string")
el.onaction = new Function ("event", el.onaction);
el.onaction(window.event);
};
createButton.focusToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null || !el._enabled) return;
createButton.setClassName(el);
};
createButton.blurToolBarButton = function () {
var el = createButton.getParentToolBarButton(window.event.srcElement);
if (el == null) return;
createButton.setClassName(el)
};
createButton.getParentToolBarButton = function (el) {
if (el == null) return null;
if (/toolBarButton/.test(el.className))
return el;
return createButton.getParentToolBarButton(el.parentNode);
};
createButton.setClassName = function (el) {
var over = el._over;
var down = el._down;
var focused;
try {
focused = (el == document.activeElement && el.tabIndex > 0);
}
catch (exc) {
focused = false;
}
if (!el._enabled) {
if (el._value)
el.className = "toolBarButtonActiveDisabled";
else
el.className = el._alwaysUp ? "toolBarButtonUpDisabled" : "toolBarButtonDisabled";
}
else {
if (el._value) {
if (over || down || focused)
el.className = "toolBarButtonActiveHover";
else
el.className = "toolBarButtonActive";
}
else {
if (down)
el.className = "toolBarButtonActiveHover";
else if (over || el._alwaysUp || focused)
el.className = "toolBarButtonHover";
else
el.className = "toolBarButton";
}
}
};
createButton.setEnabled = function (b) {
if (this._enabled != b) {
this._enabled = b;
createButton.setClassName(this, false, false);
if (!window.moz) {
if (b)
this.innerHTML = this.firstChild.firstChild.innerHTML;
else
this.innerHTML = "<span class='toolBarButtonDisabledContainer'><span class='toolBarButtonDisabledContainer'>" + this.innerHTML + "</span></span>";
}
}
};
createButton.getEnabled = function () {
return this._enabled;
};
createButton.setValue = function (v, bDontTriggerOnChange) {
if (this._toggle && this._value != v) {
this._value = v;
createButton.setClassName(this, false, false);
this.onchange = this.getAttribute("onchange");
if (this.onchange == null || this.onchange == "" || bDontTriggerOnChange) return;
if (typeof this.onchange == "string")
this.onchange = new Function("", this.onchange);
this.onchange();
}
};
createButton.getValue = function () {
return this._value;
};
createButton.setToggle = function (t) {
if (this._toggle != t) {
this._toggle = t;
if (!t) this.setValue(false);
}
};
createButton.getToggle = function () {
return this._toggle;
};
createButton.setAlwaysUp = function (up) {
if (this._alwaysUp != up) {
this._alwaysUp = up;
createButton.setClassName(this, false, false);
}
};
createButton.getAlwaysUp = function () {
return this._alwaysUp;
};
</SCRIPT>
//特别是这部份,真的难以理解el怎么可以设置那么多属 *** ,也没有在那里定义过这些属 *** 呀
这些属 *** 是自定义的,想怎么定义就怎么定义。
createButton(el){
el.attachEvent("onmouseover", createButton.overToolBarButton);
el.attachEvent("onmouseout", createButton.outToolBarButton);
el.attachEvent("onmousedown", createButton.downToolBarButton);
....
el.setEnabled = createButton.setEnabled;
el.getEnabled = createButton.getEnabled;
...
}
object.attachEvent(sEvent, fpNotify);
在這個方法傳入一個參數,attachEvent是為該對象綁定一個指定的方法,
任何時候觸發該對象的時候就會調用這個方法.
例如:
el.attachEvent("onmouseover", createButton.overToolBarButton);
觸發onmouseover事件就會調用createButton.overToolBarButton方法.
el.setEnabled = createButton.setEnabled;
這是設置該對象的屬 ***
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 解析 谢谢 这种 看到 if el return function el.onaction |
注册
个人空间
