h5遇到的问题

  • zepto 手机上的jquery
  • iscroll 处理ios万恶的滚动条
  • fastclick 解决手机上点击穿透的问题
  • hammer.js 多点触发手势库
  • flipsnap.js 手机屏幕水平滑动框架
  • Animate.css css3动画库
  • sencha touch、mui…
  • vue
  • phonegap / cordova
一、ios手机上传竖拍照片旋转90度问题

《利用exif.js解决ios手机上传竖拍照片旋转90度问题》
http://blog.csdn.net/linlzk/article/details/48652635

二、label文字两端对齐

http://output.jsbin.com/fehuzu

三、限制input输入类型(多种方法实现)

1.只能输入和粘贴汉字

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"><br/> 

3.只能输入和粘贴数字

<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" /><br/> 

5.数字脚本

<input onkeyup="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"><br/> 

6.只能输入数字和英文

<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"><br/> 

8.简易禁止输入汉字

<input style="ime-mode:disabled">输入法不转换,但可粘贴上<br/> 

9.输入数字和小数点

<input onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')" /><br/> 

10.只能数字和”-“,例如在输入时间的时候可以用到

<input onkeyup="value=value.replace(/[^\w&=]|_/ig,'')" onblur="value=value.replace(/[^\w&-]|_/ig,'')" /> 

限制input输入类型,参考链接

11、通过onkeypress事件是输不上任何非数字字符

<input type="text" onkeypress="return event.keyCode>=48&&event.keyCode<=57"  /> 
通过onkeyup事件是输上后再去掉非数字字符 
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'') ">
四、form表单提交后不刷新不跳转的实现方法
<html>    
  <body>    

  <form action="" method="post" target="nm_iframe">    
      <input type="text" id="id_input_text" name="nm_input_text" />    
      <input type="submit" id="id_submit" name="nm_submit" value="提交" />    
  </form>    

  <iframe id="id_iframe" name="nm_iframe" style="display:none;"></iframe>    

  </body>    
  </html>    

在默认情况下, 提交form表单后, 是有刷新的。 但是, 有的时候, 希望提交表单后不要刷新, 免得把页面已经有的东东给刷跑了, 那怎么搞呢(最近刚好碰到)? 实例代码在上。

五、JQuery报错Uncaught TypeError: Illegal invocation的处理方法

加上processData: false
processData 默认为false; 当设置为true的时候,jQuery ajax 提交的时候不会序列化 data,而是直接使用data

$.ajax({
    url: 'xxxxxx',
    type: 'POST',
    data:{},
    async: true,
    cache: false,
    contentType: false,
    processData: false,
    ...
    ...
});
六、某标签下的元素垂直水平居中

设置该标签

position:absolute;width:auto;margin:10px auto;left:8vw;right:8vw;top:50%;
-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);-o-transform:translate(0,-50%);transform:translate(0,-50%)
七、上传base64注意事项

要将前缀去掉

img.src.replace("data:image/png;base64,","");  
八、超出文字显示省略号…
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
九、遍历对象并显示数值
  • 1、返回的值: var backRes = {“userName”: “haha”, “age”: 27};
<p name="userName"></p>
<p name="age"></p>

for(var value in backRes){
     $("[name="+value+"]").text(backRes[value]);
}
设置上传input等全局去处理

在点击input去获取图片等文件资源时,需要将click点击函数处理放到全局,

window.onClickXXXX = function(e) {
}
十一、同页面下不同级联的样式元素所在下标位置

var indexSameClass = $('.xxxClass').index(this);

十二、获取form表单所有name属性的对象值

用于获取提交表格数据的所有的值

$.fn.serializeFormObject = function() {
    var objValue = {};
    var arr = this.serializeArray();
    $.each(arr, function() {
        if(objValue[this.name] !== undefined) {
            if(!objValue[this.name].push) {
                objValue[this.name] = [objValue[this.name]];
            }
            objValue[this.name].push(this.value || '');
        } else {
            objValue[this.name] = this.value || '';
        }
    });
    return objValue;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值