BUI

其它版本:

API for BUI 1.6.x

Show:

bui.emitter Class

事件发射器

方法说明:

on: 监听事件
off: 取消事件监听
trigger: 触发自定义事件
one: 监听一次事件

Constructor

bui.emitter

()

Example:

js:

       // 初始化
                                       var emitter = bui.emitter();
                                
                                       // 自定义search事件监听
                                       emitter.on("search",function(val){
                                         search(val);
                                       });
                                
                                       $("#id").click(function (e) {
                                         var val = $("input").val();
                                         emitter.trigger("search",val);
                                       })
                                
                                       // 搜索
                                       function search(val) {
                                         bui.ajax({
                                           url: "",
                                           data: {
                                             keyword: val
                                           }
                                         }).then(function () {
                                           // 拿到数据返回渲染
                                         })
                                       }
                                

Item Index

Methods

notify

()

Defined in src/scripts/core/bui.event.js:274

Available since 1.5.0

通知所有变更

Example:

          $("#id").click(function (e) {
                                                        emitter.notify();
                                                      })
                                            

off

(
  • [type] [ 自定义事件名称]
  • [callback] [ 触发的回调]
)

取消事件

Parameters:

  • [type] [ 自定义事件名称] String optional
  • [callback] [ 触发的回调] Function optional

Example:

          // 取消所有search事件
                                                      emitter.off("search");
                                            

on

(
  • [type] [ 自定义事件名称]
  • [callback] [ 触发的回调]
)

监听自定义事件

Parameters:

  • [type] [ 自定义事件名称] String optional
  • [callback] [ 触发的回调] Function optional

Example:

      // 自定义search事件监听
                                                  emitter.on("search",function(val){
                                                    search(val);
                                                  });
                                            

one

(
  • [type] [ 自定义事件名称]
  • [callback] [ 触发的回调]
)

只监听在第一次的时候触发,触发以后不再执行

Parameters:

  • [type] [ 自定义事件名称] String optional
  • [callback] [ 触发的回调] Function optional

Example:

      // 监听一次
                                                  emitter.one("search",function(val){
                                                    search(val);
                                                  });
                                            

trigger

(
  • [type] [ 自定义事件名称]
  • [arguments] [ 需要传给自定义事件的参数,可以有多个]
)

触发事件

Parameters:

  • [type] [ 自定义事件名称] String optional
  • [arguments] [ 需要传给自定义事件的参数,可以有多个] String | Object | Number optional

Example:

      $("#id").click(function (e) {
                                                    emitter.trigger("search",e);
                                                  })
                                            

wait

(
  • [type] [ 自定义事件名称]
  • [callback] [ 触发的回调]
)

Defined in src/scripts/core/bui.event.js:163

Available since 1.6.2

只监听在第一次的时候触发,触发以后不再执行

Parameters:

  • [type] [ 自定义事件名称] Array optional
  • [callback] [ 触发的回调] Function optional

Example:

      // 监听一次
                                                  emitter.wait(["search","list"],function(search,list){
                                                  //   console.log(search);
                                                  //   console.log(list);
                                                  });
                                            

waited

(
  • [type] [ 自定义事件名称]
  • [callback] [ 触发的回调]
)

Defined in src/scripts/core/bui.event.js:202

Available since 1.6.3

只监听在第一次的时候触发,触发以后不再执行, 跟wait的区别在于返回的实例, wait返回了参数+实例

Parameters:

  • [type] [ 自定义事件名称] Array optional
  • [callback] [ 触发的回调] Function optional

Example:

      // 监听一次
                                                  emitter.waited(["search","list"],function(search,list){
                                                  //   console.log(search);
                                                  //   console.log(list);
                                                  });