MxWeiXinPF.Web/obj/Release/Package/PackageTmp/shop/templates/haier/js/event.js
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/**
* @file Event相关, 给widget提供事件行为。也可以给其他对象提供事件行为。
* @import core/gmu.js
* @module GMU
*/
(function( gmu, $ ) {
var slice = [].slice,
separator = /\s+/,
returnFalse = function() {
return false;
},
returnTrue = function() {
return true;
};
function eachEvent( events, callback, iterator ) {
// 不支持对象,只支持多个event用空格隔开
(events || '').split( separator ).forEach(function( type ) {
iterator( type, callback );
});
}
// 生成匹配namespace正则
function matcherFor( ns ) {
return new RegExp( '(?:^| )' + ns.replace( ' ', ' .* ?' ) + '(?: |$)' );
}
// 分离event name和event namespace
function parse( name ) {
var parts = ('' + name).split( '.' );
return {
e: parts[ 0 ],
ns: parts.slice( 1 ).sort().join( ' ' )
};
}
function findHandlers( arr, name, callback, context ) {
var matcher,
obj;
obj = parse( name );
obj.ns && (matcher = matcherFor( obj.ns ));
return arr.filter(function( handler ) {
return handler &&
(!obj.e || handler.e === obj.e) &&
(!obj.ns || matcher.test( handler.ns )) &&
(!callback || handler.cb === callback ||
handler.cb._cb === callback) &&
(!context || handler.ctx === context);
});
}
/**
* Event类,结合gmu.event一起使用, 可以使任何对象具有事件行为。包含基本`preventDefault()`, `stopPropagation()`方法。
* 考虑到此事件没有Dom冒泡概念,所以没有`stopImmediatePropagation()`方法。而`stopProgapation()`的作用就是
* 让之后的handler都不执行。
后面还有 231 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
