-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathButton.js
133 lines (95 loc) · 3.22 KB
/
Button.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
(
function ()
{
$j.RegisterControlType("J:BUTTON", Button);
function Button(jelemt)
{
if (jelemt) {
var width = jelemt.getAttribute("Width");
var height = jelemt.getAttribute("Height");
var text = jelemt.getAttribute("Text");
var click = jelemt.getAttribute("Click");
}
if (width)
this.width = parseInt(width.replace("px", ""));
else
this.width = 200;
if (height)
this.height = parseInt(height.replace("px", ""));
else
this.height = 30;
if (text)
this.text = text;
else
this.text = "";
if (click)
this.click = click;
var elemt = document.createElement("div");
elemt.style.boxSizing = "border-box";
elemt.style.width = this.width + "px";
elemt.style.height = this.height + "px";
elemt.className = "jwf_Button";
elemt.style.display = "inline-flex";
elemt.style.justifyContent = "center";
elemt.style.alignItems = "center";
elemt.addEventListener("click", function Click()
{
var btn = elemt.jwfObj;
var handler;
if (typeof (btn.click) == "string") {
handler = window[btn.click];
}
else if (typeof (btn.click) == "function") {
handler = btn.click;
}
if (!handler) {
throw "jWebForm Error: \"" + btn.click + "\" 不是有效的 函数名 或 函数 。"
}
handler(btn);
});
this.elemt = elemt;
elemt.jwfObj = this;
var textDiv = document.createElement("div");
this.textDiv = textDiv;
textDiv.style.width = "fit-content";
textDiv.innerHTML = this.text;
elemt.appendChild(textDiv);
}
$j.Button = function CreateButton(id)
{
var ctrl = new Button();
if (id) {
$j.RegisterControl(ctrl, id);
}
return ctrl;
}
Button.prototype = $j.Control();
Button.prototype.Width = function Width(width)
{
if (!width)
return this.width;
this.width = parseInt(width.replace("px", ""));
this.elemt.style.width = this.width + "px";
}
Button.prototype.Height = function Height(height)
{
if (!height)
return this.height;
this.height = parseInt(height.replace("px", ""));
this.elemt.style.height = this.height + "px";
}
Button.prototype.Click = function Click(click)
{
if (!click)
return this.click;
this.click = click;
}
Button.prototype.Text = function Text(text)
{
if (!text)
return this.text;
this.text = text;
this.textDiv.innerHTML = text;
}
}
)();