首页 > 代码库 > 第一波实习的前端笔记(2)——js.md
第一波实习的前端笔记(2)——js.md
1.如何解决移动端点透问题?
$(‘xx‘).on(‘touchend‘, function(event){ event.preventDefault(); })
但是,存在滑动页面会触发问题。期待更好的解决方案
2.如何不让浏览器链接跳转不被浏览器记录?
location.replace(); 使用 replace() 方法来替换当前文档:
replace函数在设置URL方面与location的href属性,但是它会删除history对象的地址列表中的URL,从而使go或back等函数无法导航
3.关于重复绑定的问题
问题描述:单页应用中存在同一个按钮根据不同的状态绑定不同的事件时,可能会产生上一个状态的事件继续存在的问题
解决方法:
A.使用$(".class").die().live("tap",function(e){},die方法在每次绑定之前可以进行解锁绑定的操作
B.使用unbind()方法进行解锁
C.使用Light框架自带的event事件进行绑定(
events:{ ‘tap .ui-btn‘: ‘competRegist‘ } )
因为要想取消重复绑定最好每次绑定前取消一次绑定,所以推荐第一种方法或者使用Light自带的event事件(机理不是很清楚,但确实只进行了一次绑定)。
4.inArray 数组中是否存在某个值
//参考 http://blog.csdn.net/jumtre/article/details/41893779 Array.prototype.contains = function(obj){ var i = this.length; while(i--){ if(this[i] == obj){ return true; } } return false; } if(!Array.indexOf){ Array.prototype.indexOf = function(obj){ for(var i=0, l=this.length; i<l; i++){ if(this[i] == obj){ return i; } } return -1; } } function inArray(array, value, fromIndex){ if(array) { if(!Array.indexOf){ return Array.indexOf.call(array, value, fromIndex); } for(var l=array.length,i = formIndex ? 0 > fromIndex ? Math.max(0, l+fromIndex) : fromIndex : 0; i < l; i++){ if(i in array && array[i] == value){ return i; } } } return -1; }
第一波实习的前端笔记(2)——js.md
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。