js bootstrap 事件

一.回答

1.bootstrap是基于jquery的,上面的on自然是jQuery中的事件监听方法;
2.jQuery中的事件机制是基于缓存做的,使得我们可以添加自定义事件(类似于观察者模式);
3.bootstrap中事件简单理解下:

html

<div id="test">This is test div!</div>

js

var relatedTarget = { relatedTarget: 111};var e = $.Event('show.bs.test', relatedTarget)
$("#test").on('show.bs.test', function(e){    console.log(e.relatedTarget);
});
$("#test").trigger(e);//111

我们可以看到,就是基于$.event做的,这里的$.event是对事件的增强,bootstrap里面这样的代码很多,具体的可以查阅下相关资料;

二.剖析一下:

像这种给外界提供接口的调用其实无非两种

一种是基于事件,至于你怎么去写就看你自己了,像上面这种就可以写个订阅发布模式来做;

另一种就是基于回调模式了,就是调用的时候传进去一个函数 (new Test({onClose:function(data){}})类似这样的),回调的时候获得结果;

我就不写了,没有什么难度。

你可能感兴趣的:(js bootstrap 事件)