popstate事件在安卓与IOS中的表现差异,具体差异在于安卓前进不触发popstate事件,而IOS前进触发了popstate事件,在这里通过加入延迟开关去判断是前进还是后退。 具体代码如下(天天检项目):
getHistory();
var flag = false;
var backoff = false;
setTimeout(function() {
flag = true
}, 500)
window.addEventListener('popstate', function(e) {
//监听到返回事件
if (flag&&!window.sessionStorage.getItem('initi')) {
//自己想要做的事情
mui.confirm('还没发布,请三思而已哦~', '请注意', ['继续发起', '去意已决'], function(e) {
if (e.index == 0) {
} else {
flag = false;
backoff = true;
goBack();
}
});
}else if (backoff){
goBack();
}else if(window.sessionStorage.getItem('initi')){
window.sessionStorage.removeItem('initi');
goBack();
}
}, false);
function getHistory() {
var state = {
title: 'title',
url: '#'
};
window.history.pushState(state, 'title', '#');
}
tofixed()函数BUG,四舍五入不准确,以及保留位数出错。解决方法:重写tofixed()函数
问题描述:表单元素readonly在IOS中失效问题,网上有几个解决办法:1.获取焦点的同时失去焦点。2.input设置为disabled。但是很遗憾的是这2种办法用的真的是贼难受,1.要是布局不太严谨,失去焦点的一瞬间(开发过手机端的大概都知道,定位属性在iOS中支持真的是相当的差,所以这里会出现fided的布局闪烁问题)。2.disabled确实是可以阻挡键盘弹出。但是placeholder的字体颜色和没有disabled的placeholder字体颜色有差别。这个在IOS中特别明显,UI要求高的在这里就行不通了。 解决方法:如此简单也如此精妙,也如此投机取巧。上面遮个元素就可以了
手机端开发:a链接点击蓝色背景去除方法:-webkit-tap-highlight-color:transparent;
sublime配置jsx文件支持emmet快速生成标签的方法: 菜单->Preferences->Key Bindings - User是这样的:
[{
"keys": [
"tab"
],
"args": {
"action": "expand_abbreviation"
},
"command": "run_emmet_action",
"context": [{
"key": "emmet_action_enabled.expand_abbreviation"
}]
}, {
"keys": ["tab"],
"command": "expand_abbreviation_by_tab",
"context": [{
"operand": "source.js",
"operator": "equal",
"match_all": true,
"key": "selector"
}, {
"key": "preceding_text",
"operator": "regex_contains",
"operand": "(\\b(a\\b|div|span|p\\b|button)(\\.\\w*|>\\w*)?([^}]*?}$)?)",
"match_all": true
}, {
"key": "selection_empty",
"operator": "equal",
"operand": true,
"match_all": true
}]
}]
语法:...对象展开运算符, 概率:允许一个表达式在某处展开 使用:
function test(a,b,c) { }
var args = [0,1,2];
test(...args);//此处将数组展开传给test
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。