本框架内置组件的事件基本上都是jQuery自定义事件。
监听事件
$(selector).on('Event name', function(e) {
//do something...
})
触发事件
$(selector).trigger('Event name')
| 事件名称 | 中文说明 | 描述 |
|---|---|---|
| bjui.initUI | 框架初始化事件 | 监听该事件,可以为指定的DOM初始化框架组件及插件,例如:本框架监听该事件用于在文档加载完成或ajax加载完成时,初始化框架及插件 |
| bjui.beforeInitUI | 框架初始化前事件 | 监听该事件,可以在框架初始化前进行相关操作。例如:本框架的任一容器DOM如果添加了属性['data-noinit="true"],该容器内的元素都不会被初始化,处理这个流程就监听了本件事。 |
| bjui.afterInitUI | 框架初始化后事件 | 监听该事件,可以在框架初始化后进行相关操作,示例同上。 |
| bjui.ajaxStatus | ajax请求状态事件 | 框架内部事件。本事件用于在ajax请求过程中(ajaxStart - > ajaxStop),显示/隐藏 框架的Mask loading效果。 |
| bjui.resizeGrid | 窗口缩放事件 | 监听该事件,可在浏览器窗口或dialog窗口缩放时进行相关操作。 |
| bjui.beforeAjaxLoad | ajax载入前事件 | 监听该事件,可在使用ajaxUrl方法 (navtab/dialog均用此方法加载子页片内容) 前进行相关操作,例如:本框架监听该事件用于在重载入子页片前释放在body中生成的selectpicker插件资源。 |
可以多次监听某一事件,jQuery会依次处理,本例触发bjui.initUI事件时会先触发框架的监听事件(
bjui-plugins.js: 为文本框添加Class[form-control]),再触发自定义的监听事件(红色边框)。
事件示例: 创建div容器
示例完整代码:
<script type="text/javascript">
var $doc_div = $('<div class="doc-eventbox" style="display:inline-block; margin-left:10px;"><input type="text"></div>')
$doc_div.on('bjui.initUI', function() {
$(this).find('input').css('border-color','red')
})
$('a.doc-event-1').click(function() {
$doc_div.insertAfter('a.doc-event-2')
$('a.doc-event-2').removeClass('hide')
$(this).hide()
})
$('a.doc-event-2').click(function() {
$(this).hide()
$doc_div.trigger('bjui.initUI')
})
</script>
创建div容器