1. 动态生成的input自动focus
背景:
input元素在需要时才插入DOM,这时元素用autofocus属性第一次是可以获取焦点,但是如果有第二个,就不再生效,所以得另外的办法。
方法:
//在input插入DOM后,这样才能focus到。
setTimeout(function(){
inputElem.focus();
}, 0); //技巧
2. plupload插件引入时报“mOxie undefined”
背景:
vue引入plupload插件(plupload.full.min.js)报上面的错,这个是因为这个文件依赖mOxie对象,而mOxie对象没有正常export出来。
//export代码
(function(exports) {
"use strict"; var o = {}, inArray = exports.moxie.core.utils.Basic.inArray; // directly add some public classes
(function addAlias(ns) {
var name, itemType;
for (name in ns) {
itemType = typeof(ns[name]);
if (itemType === 'object' && !~inArray(name, ['Exceptions', 'Env', 'Mime'])) {
addAlias(ns[name]);
} else if (itemType === 'function') {
o[name] = ns[name];
}
}
})(exports.moxie); // add some manually
o.Env = exports.moxie.core.utils.Env;
o.Mime = exports.moxie.core.utils.Mime;
o.Exceptions = exports.moxie.core.Exceptions; // expose globally
exports.mOxie = o;
if (!exports.o) {
exports.o = o;
}
return o;
})(this);
这里的this在vue require已经不是window, 所以才没有正常暴露出来了。
方法:
(function(){
//用这个包裹一下,就正常了。
}).call(window);