yii.activeForm.js的问题 [ 2.0 版本 ]
最近在阅读yii.activeForm.js源码,看到下面这些写法不理解
$form.on('submit.yiiActiveForm', methods.submitForm);
$form.bind('reset.yiiActiveForm', methods.resetForm);
$input.on('change.yiiActiveForm', function () {
validateAttribute($form, attribute, false);
});
我的问题是,为什么要在绑定的事件后面加,.yiiActiveForm,有什么特殊的含义吗?
最佳答案
-
dingjj2010 发布于 2017-05-25 16:04 举报
和php命名空间类似.事件+命名空间
源码中submit,reset,change都是在yiiActiveForm下的,
可以避免其他父级下的submit的影响.同时如果解除事件,可以直接解除 ".yiiActiveForm" ,那么它下面的都一起解除了.
共 1 条回复dingjj2010 回复于 2017-05-25 16:20 回复简单的理解,多级命名空间.就是按照层级左匹配.层级就是按照"."分隔
例如trigger了 submit,那么会触发事件左边层级包含submit的所有事件,例如submit.yiiActiveForm, submit.aa, submit.bb, submit.yiiActiveForm.aa.bb.cc.dd.......
同理trigger了 submit.yiiActiveForm,会触发submit.yiiActiveForm.aa, submit.yiiActiveForm.bb, submit.yiiActiveForm.aa.bb.cc.dd....
其他 0 个回答
没有找到数据。
johnny1991
注册时间:2017-03-26
最后登录:2024-03-05
在线时长:81小时27分
最后登录:2024-03-05
在线时长:81小时27分
- 粉丝26
- 金钱3285
- 威望580
- 积分9895