Changeset 8106 for platform/silverlight/Silverlight.JQuery/trunk
- Timestamp:
- 03/19/08 00:04:19 (5 years ago)
- Location:
- platform/silverlight/Silverlight.JQuery/trunk/src
- Files:
-
- 1 added
- 3 modified
-
Silverlight.JQuery.WebTest/index.html (modified) (1 diff)
-
Silverlight.JQuery/JQuery/JQuery.cs (modified) (32 diffs)
-
Silverlight.JQuery/JQuery/JQueryExtension.cs (added)
-
Silverlight.JQuery/Silverlight.JQuery.csproj (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
platform/silverlight/Silverlight.JQuery/trunk/src/Silverlight.JQuery.WebTest/index.html
r8053 r8106 1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" >2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 3 <head> 4 4 <title>Test Page for Silverlight.JQuery</title> -
platform/silverlight/Silverlight.JQuery/trunk/src/Silverlight.JQuery/JQuery/JQuery.cs
r8053 r8106 74 74 } 75 75 76 /// <summary> 77 /// 指定したHTML要素からjQueryオブジェクトを生成します。 78 /// </summary> 79 /// <param name="elements">HTML要素</param> 80 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 81 public JQuery(params HtmlElement[] elements) { 82 #region ArgumentValidation 83 ArgumentValidation.CheckForNullReference(elements, "elements"); 84 #endregion 85 86 element = (ScriptObject)window.Invoke("$", elements); 87 } 88 76 89 #endregion 77 90 78 91 #region methods 92 93 #region Core 94 95 /// <summary> 96 /// 現在の要素の数を取得します。 97 /// </summary> 98 /// <returns>要素の数</returns> 99 public int Size() { 100 return (int)((double)element.Invoke("size")); 101 } 102 103 /// <summary> 104 /// 現在の要素の数を取得します。 105 /// </summary> 106 public int Length { 107 get { 108 // 何故かdouble型で返ってくるの改めてint型でキャスト 109 return (int)((double)element.GetProperty("length")); 110 } 111 } 112 113 /// <summary> 114 /// 現在の要素から全てのHTML要素を取得します。 115 /// </summary> 116 /// <returns>HTML要素の配列</returns> 117 public HtmlElement[] Get() { 118 return Get<HtmlElement[]>("get"); 119 } 120 121 /// <summary> 122 /// 現在の要素から指定したインデックスのHTML要素を取得します。 123 /// </summary> 124 /// <param name="index">インデックス</param> 125 /// <returns>HTML要素</returns> 126 /// <exception cref="ArgumentException">引数が不正な時</exception> 127 public HtmlElement Get(int index) { 128 #region ArgumentValidation 129 ArgumentValidation.CheckForGreaterEqualZero(index, "index"); 130 #endregion 131 132 return Get<HtmlElement>("get", index); 133 } 134 135 #endregion 79 136 80 137 #region Attributes … … 169 226 170 227 /// <summary> 228 /// 指定したハンドラをページが読み込まれた時に呼び出されるイベントに追加します。 229 /// </summary> 230 /// <param name="handler">ハンドラ</param> 231 /// <returns>自分自身</returns> 232 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 233 public JQuery Ready(EventHandler handler) { 234 OnReady += handler; 235 236 return this; 237 } 238 /// <summary> 239 /// ページが読み込まれた時に呼び出されます。 240 /// </summary> 241 public event EventHandler OnReady { 242 add { 243 HtmlPage.Document.DocumentReady += value; 244 } 245 remove { 246 HtmlPage.Document.DocumentReady -= value; 247 } 248 } 249 250 /// <summary> 171 251 /// 指定したハンドラを要素がブラーされた時に呼び出されるイベントに追加します。 172 252 /// </summary> … … 175 255 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 176 256 public JQuery Blur(EventHandler<HtmlEventArgs> handler) { 177 #region ArgumentValidation178 ArgumentValidation.CheckForNullReference(handler, "handler");179 #endregion180 181 257 OnBlur += handler; 182 258 … … 188 264 public event EventHandler<HtmlEventArgs> OnBlur { 189 265 add { 190 EachElement(ele => ele.AttachEvent("onblur", value));191 } 192 remove { 193 EachElement(ele => ele.DetachEvent("onblur", value));266 this.Each(ele => ele.AttachEvent("onblur", value)); 267 } 268 remove { 269 this.Each(ele => ele.DetachEvent("onblur", value)); 194 270 } 195 271 } … … 202 278 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 203 279 public JQuery Change(EventHandler<HtmlEventArgs> handler) { 204 #region ArgumentValidation205 ArgumentValidation.CheckForNullReference(handler, "handler");206 #endregion207 208 280 OnChange += handler; 209 281 … … 215 287 public event EventHandler<HtmlEventArgs> OnChange { 216 288 add { 217 EachElement(ele => ele.AttachEvent("onchange", value));218 } 219 remove { 220 EachElement(ele => ele.DetachEvent("onchange", value));289 this.Each(ele => ele.AttachEvent("onchange", value)); 290 } 291 remove { 292 this.Each(ele => ele.DetachEvent("onchange", value)); 221 293 } 222 294 } … … 229 301 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 230 302 public JQuery Click(EventHandler<HtmlEventArgs> handler) { 231 #region ArgumentValidation232 ArgumentValidation.CheckForNullReference(handler, "handler");233 #endregion234 235 303 OnClick += handler; 236 304 … … 242 310 public event EventHandler<HtmlEventArgs> OnClick { 243 311 add { 244 EachElement(ele => ele.AttachEvent("onclick", value));245 } 246 remove { 247 EachElement(ele => ele.DetachEvent("onclick", value));312 this.Each(ele => ele.AttachEvent("onclick", value)); 313 } 314 remove { 315 this.Each(ele => ele.DetachEvent("onclick", value)); 248 316 } 249 317 } … … 256 324 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 257 325 public JQuery DblClick(EventHandler<HtmlEventArgs> handler) { 258 #region ArgumentValidation259 ArgumentValidation.CheckForNullReference(handler, "handler");260 #endregion261 262 326 OnDblClick += handler; 263 327 … … 269 333 public event EventHandler<HtmlEventArgs> OnDblClick { 270 334 add { 271 EachElement(ele => ele.AttachEvent("ondblclick", value));272 } 273 remove { 274 EachElement(ele => ele.DetachEvent("ondblclick", value));335 this.Each(ele => ele.AttachEvent("ondblclick", value)); 336 } 337 remove { 338 this.Each(ele => ele.DetachEvent("ondblclick", value)); 275 339 } 276 340 } … … 283 347 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 284 348 public JQuery Focus(EventHandler<HtmlEventArgs> handler) { 285 #region ArgumentValidation286 ArgumentValidation.CheckForNullReference(handler, "handler");287 #endregion288 289 349 OnFocus += handler; 290 350 … … 296 356 public event EventHandler<HtmlEventArgs> OnFocus { 297 357 add { 298 EachElement(ele => ele.AttachEvent("onfocus", value));299 } 300 remove { 301 EachElement(ele => ele.DetachEvent("onfocus", value));358 this.Each(ele => ele.AttachEvent("onfocus", value)); 359 } 360 remove { 361 this.Each(ele => ele.DetachEvent("onfocus", value)); 302 362 } 303 363 } … … 310 370 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 311 371 public JQuery KeyDown(EventHandler<HtmlEventArgs> handler) { 312 #region ArgumentValidation313 ArgumentValidation.CheckForNullReference(handler, "handler");314 #endregion315 316 372 OnKeyDown += handler; 317 373 … … 323 379 public event EventHandler<HtmlEventArgs> OnKeyDown { 324 380 add { 325 EachElement(ele => ele.AttachEvent("onkeydown", value));326 } 327 remove { 328 EachElement(ele => ele.DetachEvent("onkeydown", value));381 this.Each(ele => ele.AttachEvent("onkeydown", value)); 382 } 383 remove { 384 this.Each(ele => ele.DetachEvent("onkeydown", value)); 329 385 } 330 386 } … … 337 393 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 338 394 public JQuery KeyPress(EventHandler<HtmlEventArgs> handler) { 339 #region ArgumentValidation340 ArgumentValidation.CheckForNullReference(handler, "handler");341 #endregion342 343 395 OnKeyPress += handler; 344 396 … … 350 402 public event EventHandler<HtmlEventArgs> OnKeyPress { 351 403 add { 352 EachElement(ele => ele.AttachEvent("onkeypress", value));353 } 354 remove { 355 EachElement(ele => ele.DetachEvent("onkeypress", value));404 this.Each(ele => ele.AttachEvent("onkeypress", value)); 405 } 406 remove { 407 this.Each(ele => ele.DetachEvent("onkeypress", value)); 356 408 } 357 409 } … … 364 416 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 365 417 public JQuery KeyUp(EventHandler<HtmlEventArgs> handler) { 366 #region ArgumentValidation367 ArgumentValidation.CheckForNullReference(handler, "handler");368 #endregion369 370 418 OnKeyUp += handler; 371 419 … … 377 425 public event EventHandler<HtmlEventArgs> OnKeyUp { 378 426 add { 379 EachElement(ele => ele.AttachEvent("onkeyup", value));380 } 381 remove { 382 EachElement(ele => ele.DetachEvent("onkeyup", value));427 this.Each(ele => ele.AttachEvent("onkeyup", value)); 428 } 429 remove { 430 this.Each(ele => ele.DetachEvent("onkeyup", value)); 383 431 } 384 432 } … … 391 439 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 392 440 public JQuery Load(EventHandler<HtmlEventArgs> handler) { 393 #region ArgumentValidation394 ArgumentValidation.CheckForNullReference(handler, "handler");395 #endregion396 397 441 OnLoad += handler; 398 442 … … 404 448 public event EventHandler<HtmlEventArgs> OnLoad { 405 449 add { 406 EachElement(ele => ele.AttachEvent("onload", value));407 } 408 remove { 409 EachElement(ele => ele.DetachEvent("onload", value));450 this.Each(ele => ele.AttachEvent("onload", value)); 451 } 452 remove { 453 this.Each(ele => ele.DetachEvent("onload", value)); 410 454 } 411 455 } … … 418 462 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 419 463 public JQuery MouseDown(EventHandler<HtmlEventArgs> handler) { 420 #region ArgumentValidation421 ArgumentValidation.CheckForNullReference(handler, "handler");422 #endregion423 424 464 OnMouseDown += handler; 425 465 … … 431 471 public event EventHandler<HtmlEventArgs> OnMouseDown { 432 472 add { 433 EachElement(ele => ele.AttachEvent("onmousedown", value));434 } 435 remove { 436 EachElement(ele => ele.DetachEvent("onmousedown", value));473 this.Each(ele => ele.AttachEvent("onmousedown", value)); 474 } 475 remove { 476 this.Each(ele => ele.DetachEvent("onmousedown", value)); 437 477 } 438 478 } … … 445 485 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 446 486 public JQuery MouseMove(EventHandler<HtmlEventArgs> handler) { 447 #region ArgumentValidation448 ArgumentValidation.CheckForNullReference(handler, "handler");449 #endregion450 451 487 OnMouseMove += handler; 452 488 … … 458 494 public event EventHandler<HtmlEventArgs> OnMouseMove { 459 495 add { 460 EachElement(ele => ele.AttachEvent("onmousemove", value));461 } 462 remove { 463 EachElement(ele => ele.DetachEvent("onmousemove", value));496 this.Each(ele => ele.AttachEvent("onmousemove", value)); 497 } 498 remove { 499 this.Each(ele => ele.DetachEvent("onmousemove", value)); 464 500 } 465 501 } … … 472 508 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 473 509 public JQuery MouseOut(EventHandler<HtmlEventArgs> handler) { 474 #region ArgumentValidation475 ArgumentValidation.CheckForNullReference(handler, "handler");476 #endregion477 478 510 OnMouseOut += handler; 479 511 … … 485 517 public event EventHandler<HtmlEventArgs> OnMouseOut { 486 518 add { 487 EachElement(ele => ele.AttachEvent("onmouseout", value));488 } 489 remove { 490 EachElement(ele => ele.DetachEvent("onmouseout", value));519 this.Each(ele => ele.AttachEvent("onmouseout", value)); 520 } 521 remove { 522 this.Each(ele => ele.DetachEvent("onmouseout", value)); 491 523 } 492 524 } … … 499 531 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 500 532 public JQuery MouseOver(EventHandler<HtmlEventArgs> handler) { 501 #region ArgumentValidation502 ArgumentValidation.CheckForNullReference(handler, "handler");503 #endregion504 505 533 OnMouseOver += handler; 506 534 … … 512 540 public event EventHandler<HtmlEventArgs> OnMouseOver { 513 541 add { 514 EachElement(ele => ele.AttachEvent("onmouseover", value));515 } 516 remove { 517 EachElement(ele => ele.DetachEvent("onmouseover", value));542 this.Each(ele => ele.AttachEvent("onmouseover", value)); 543 } 544 remove { 545 this.Each(ele => ele.DetachEvent("onmouseover", value)); 518 546 } 519 547 } … … 526 554 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 527 555 public JQuery MouseUp(EventHandler<HtmlEventArgs> handler) { 528 #region ArgumentValidation529 ArgumentValidation.CheckForNullReference(handler, "handler");530 #endregion531 532 556 OnMouseUp += handler; 533 557 … … 539 563 public event EventHandler<HtmlEventArgs> OnMouseUp { 540 564 add { 541 EachElement(ele => ele.AttachEvent("onmouseup", value));542 } 543 remove { 544 EachElement(ele => ele.DetachEvent("onmouseup", value));565 this.Each(ele => ele.AttachEvent("onmouseup", value)); 566 } 567 remove { 568 this.Each(ele => ele.DetachEvent("onmouseup", value)); 545 569 } 546 570 } … … 558 582 return (T)element.Invoke(methodName); 559 583 } 584 560 585 /// <summary> 561 586 /// … … 597 622 } 598 623 599 /// <summary>600 /// 現在の各要素に対して、指定したアクションを実行します。601 /// </summary>602 /// <param name="func">実行するアクション</param>603 private void EachElement(Action<HtmlElement> func) {604 // 何故かdouble型で返ってくる。605 var length = (double)element.GetProperty("length");606 607 for(int i = 0; i < length; i++) {608 func(Get<HtmlElement>("get", i));609 }610 }611 612 624 #endregion 613 625 -
platform/silverlight/Silverlight.JQuery/trunk/src/Silverlight.JQuery/Silverlight.JQuery.csproj
r8044 r8106 50 50 </Compile> 51 51 <Compile Include="Commons\ArgumentValidation.cs" /> 52 <Compile Include="JQuery\JQueryExtension.cs" /> 52 53 <Compile Include="Properties\AssemblyInfo.cs" /> 53 54 <Compile Include="JQuery\JQuery.cs" />
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)