@@ -40,7 +40,7 @@ declare namespace Layui {
40
40
* 对元素遍历
41
41
* @param fn 回调函数,返回 `true` 则停止遍历,和 jQuery 相反
42
42
*/
43
- each ( fn ? : ( this : TElement , index : number , elem : TElement ) => any ) : this;
43
+ each ( fn : ( this : TElement , index : number , elem : TElement ) => any ) : this;
44
44
/**
45
45
* 查找子元素
46
46
* @param selector 选择器
@@ -80,6 +80,16 @@ declare namespace Layui {
80
80
fn : ( this : TElement , e : HTMLElementEventMap [ K ] ) => any ,
81
81
options ?: boolean | EventListenerOptions
82
82
) : this;
83
+ off < K extends keyof DocumentEventMap > (
84
+ eventName : K ,
85
+ fn : ( this : TElement , e : DocumentEventMap [ K ] ) => any ,
86
+ options ?: boolean | EventListenerOptions
87
+ ) : this;
88
+ off < K extends keyof WindowEventMap > (
89
+ eventName : K ,
90
+ fn : ( this : TElement , e : WindowEventMap [ K ] ) => any ,
91
+ options ?: boolean | EventListenerOptions
92
+ ) : this;
83
93
/**
84
94
* 事件绑定,注意:只支持内置事件,不支持自定义事件
85
95
* @param eventName 事件名 比如click,自定事件会绑定失败
@@ -91,6 +101,16 @@ declare namespace Layui {
91
101
fn : ( this : TElement , e : HTMLElementEventMap [ K ] ) => any ,
92
102
options ?: boolean | AddEventListenerOptions
93
103
) : this;
104
+ on < K extends keyof DocumentEventMap > (
105
+ eventName : K ,
106
+ fn : ( this : TElement , e : DocumentEventMap [ K ] ) => any ,
107
+ options ?: boolean | AddEventListenerOptions
108
+ ) : this;
109
+ on < K extends keyof WindowEventMap > (
110
+ eventName : K ,
111
+ fn : ( this : TElement , e : WindowEventMap [ K ] ) => any ,
112
+ options ?: boolean | AddEventListenerOptions
113
+ ) : this;
94
114
/**
95
115
* 移除元素
96
116
* @param elem 实际是 removeChild(elem)
@@ -228,7 +248,15 @@ declare namespace Layui {
228
248
* 查找 DOM 作为返回实例的操作对象
229
249
* @param selector 选择器
230
250
*/
231
- ( selector ?: string | HTMLElement | JQuery ) : Lay ;
251
+ ( window : Window ) : Lay < Window > ;
252
+ < T extends keyof HTMLElementTagNameMap > ( selector : T ) : Lay < HTMLElementTagNameMap [ T ] > ;
253
+ < T extends keyof SVGElementTagNameMap > ( selector : T ) : Lay < SVGElementTagNameMap [ T ] > ;
254
+ < T extends globalThis . Element = HTMLElement > ( selector : Layui . Selector ) : Lay < T > ;
255
+ ( element : HTMLSelectElement ) : Lay < HTMLSelectElement > ;
256
+ < T extends globalThis . Element > ( element_or_elementArray : T | ArrayLike < T > ) : Lay < T > ;
257
+ < T > ( selection : Lay < T > ) : Lay < T > ;
258
+ < T extends Layui . PlainObject > ( object : T ) : Lay < T > ;
259
+ < T = HTMLElement > ( ) : Lay < T > ;
232
260
/**
233
261
* 版本
234
262
*/
@@ -276,7 +304,7 @@ declare namespace Layui {
276
304
stope ( event : Event | JQuery . Event ) : void ;
277
305
/**
278
306
* 对象(Array、Object、DOM 对象等)遍历,可用于取代 for 语句
279
- * @param collection Array对象
307
+ * @param collection 集合,可以是数组或对象等可遍历的元素
280
308
* @param callback 回调函数,返回 true 停止遍历,和 jQUery.each 相反
281
309
*/
282
310
each < T > ( collection : ArrayLike < T > , callback : ( this : T , indexInArray : number , value : T ) => any ) : Lay ;
@@ -302,7 +330,8 @@ declare namespace Layui {
302
330
* lay.elem('div', {id: 'test'}) // <div id="test"></div>
303
331
* ```
304
332
*/
305
- elem < K extends keyof HTMLElementTagNameMap > ( elemName : K , attr ?: Record < string , any > ) : HTMLElementTagNameMap [ K ] ;
333
+ elem < K extends keyof HTMLElementTagNameMap > ( tagName : K , attr ?: Record < string , any > ) : HTMLElementTagNameMap [ K ] ;
334
+ elem ( tagName : string , attr ?: Record < string , any > ) : HTMLElement ;
306
335
/**
307
336
* 当前页面body是否存在滚动条
308
337
*/
@@ -432,7 +461,7 @@ declare namespace Layui {
432
461
* @since 2.9.2
433
462
*/
434
463
touchSwipe (
435
- elem : string | HTMLElement | JQuery ,
464
+ elem : string | Element | JQuery ,
436
465
options : {
437
466
onTouchStart ( e : TouchEvent , state : LayTouchSwipeState ) : void ;
438
467
onTouchMove ( e : TouchEvent , state : LayTouchSwipeState ) : void ;
0 commit comments