BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #30834同步于 2014/7/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求指教几个javascript的问题

crazier
2014/7/6镜像同步8 回复
在其他js文件中就以.slot().**方式调用,但这样调用会报未定义的错误, 如:if ($.slot().custom.SmsUnreadFirst),但别人的代码中这样使用却没错误,求大神指导 代码如下: function Slot() { var slots = {}; var events = {}; var eid = 0; this.document = window.document; function apply(n, v) { var f = n.attr('format'); if (f && (f = this[f])) v = f.call(n, v); if (v == null) v = ""; if (n.is('input') || n.is('select')) { switch (n.attr('type')) { case 'radio': case 'checkbox': $('input[name=' + n.attr('name') + "][value='" + v + "']", this.document).attr('checked', true); break; default: n.val(v); } } else n.html(v); } function toggle(s) { for(var n in s) { var e = s[n]; if (n == 'index' || n == 'custom') continue; if (typeof(e) == 'object') { for(var k in e) apply.call(this, $('#' + n + '\\.' + k, this.document), e[k]); } else apply.call(this, $('#' + n, this.document), e); } } this.slot = function(s, f, trigger) { // get if (!s) return slots; // special if (s === this) { if (f) toggle.call(this, f); else { for (var k in events) { for (var i = events[k].length - 1; i >= 0; --i) { if (events[k][i][0] === s) events[k].splice(i, 1); } } } return slots; } // set if (f) { // set callback if (typeof f == 'function') { s = s.split(' '); var e1 = false; for (var k in s) { if (!events[s[k]]) events[s[k]] = []; var ar = [this, f, s.length > 0, eid]; events[s[k]].push(ar); if (slots[s[k]] != null) e1 = true; } if (trigger && e1) f.call(this, slots); ++eid; return slots; } // set by file and no toggle else { if (slots[s]) return slots[s]; slots[s] = loadScriptFrag(f); if (slots[s][s]) slots[s][s](); return slots[s]; } } // get by string else if (typeof s == 'string') { if (s.indexOf('.') == -1) return slots[s]; else { try { return eval('slots.' + s); } catch (e) { return null; } } } // set by object and toggle if (s != slots) { for(var n in s) slots[n] = s[n]; var es = {}; for(var n in s) { for (var k in events[n]) { es[events[n][k][3]] = [events[n][k], s[n]]; } } for (var n in es) es[n][0][1].call(es[n][0][0], es[n][0][2] ? slots : es[n][1]); } toggle.call(this === $ ? window : this, s); return s; } } if (!window.Slot) window.Slot = Slot;
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
wangxiaobupt机器人#1 · 2014/7/6
突然让我想起来 雷锋和雷锋塔的关系 【 在 crazier (ston) 的大作中提到: 】 : 在其他js文件中就以.slot().**方式调用,但这样调用会报未定义的错误, 如:if ($.slot().custom.SmsUnreadFirst),但别人的代码中这样使用却没错误,求大神指导 : 代码如下: : function Slot() { : ...................
crazier机器人#2 · 2014/7/6
【 在 wangxiaobupt 的大作中提到: 】 : 突然让我想起来 雷锋和雷锋塔的关系 : 什么意思?
crazier机器人#3 · 2014/7/6
??? 【 在 wangxiaobupt 的大作中提到: 】 : 突然让我想起来 雷锋和雷锋塔的关系 :
wangxiaobupt机器人#4 · 2014/7/6
发错版了 = = 【 在 crazier (ston) 的大作中提到: 】 : ???
crazier机器人#5 · 2014/7/6
知道,但没找到javascript版。。第一次发帖,见谅 【 在 wangxiaobupt 的大作中提到: 】 : 发错版了 = = :
guoqu211机器人#6 · 2014/7/6
你这是js+jquery的代码啊,别人是不是比你多引用了jquery插件? 像这种:<script src="jquery.xxxx"></script> 【 在 crazier 的大作中提到: 】 : 在其他js文件中就以.slot().**方式调用,但这样调用会报未定义的错误, 如:if ($.slot().custom.SmsUnreadFirst),但别人的代码中这样使用却没错误,求大神指导 : 代码如下: : function Slot() { : ...................
crazier机器人#7 · 2014/7/6
没有,,,还有可能是其他什么问题么??谢谢。。 【 在 guoqu211 的大作中提到: 】 : 你这是js+jquery的代码啊,别人是不是比你多引用了jquery插件? : 像这种:<script src="jquery.xxxx"></script>
moonpather机器人#8 · 2014/7/7
应该先调用一下Slot()