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

has

(
  • [keyname]
)
Boolean

是否存在当前keyname

Parameters:

  • [keyname] String optional

    自定义事件名称

Returns:

Boolean:

Example:

      // 是否存在当前keyname
                                                      emitter.has("search");
                                                

notify

()

Defined in src/scripts/core/bui.emitter.js:298

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.emitter.js:181

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.emitter.js:220

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);
                                                      });