第一波实习的前端笔记(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;
    }
时间: 2024-08-10 02:11:54

第一波实习的前端笔记(2)——js.md的相关文章

第一波实习的前端笔记

一.preventDefault()和stopPropagation()区分 事件捕获阶段:1.2.3 处于目标阶段:4 事件冒泡阶段:5.6.7 1.preventDefault()表示阻止特定事件的默认行为.例如链接的导航行为,submit提交表单的行为.preventDefault()不阻止事件进一步捕获或冒泡,也不阻止自定义事件. 2."DOM2级事件"定义了addEventListener("click",function(){},false)方法.第三个

前端笔记——如何控制表单控件中的disabled

0.前言 本文主要说明如何使能或禁止表单控件.表单控件具有disabled属性,通过设置该属性可以禁止所有的input控件,input的更多属性请参考资料[1].下面就通过一个简单的例子说明如何设置和读取disabled属性. [示例页面--代码] <!DOCTYPE html> <html> <head> <script src="jquery.js"></script> <meta charset="utf

前端怎么用js模拟应用 JSON-通俗易懂

前端怎么用js模拟应用 JSON-通俗易懂,这是转载额 好多孩子 弄不明白复杂的json 格式的应用,下面从基础来看一看JSON,怎么玩, 其实结构理解清了,写起来比html还爽吧! 0.前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的

笔记-Node.js中的核心API之HTTP

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的一些模块暂时只会在学习的时候接触到,不常用便就荒废了.正所谓好记心不如烂笔头,多做笔记还是更有利于理解和记忆.自己做的总结也方便回头复习,所以决定踏上漫长的修炼之旅-- Node提供了许多API,其中一些比较重要.这些核心的API是所有Node应用的支柱,你会不停的用到他们. HTTP服务器 Nod

笔记-[2]-JS键盘事件.

键盘事件主要有两种: onkeydown:当键盘按下的时候触发 onkeyup:当键盘按键抬起的时候触发 例子: <script type="text/javascript"> window.onload=function(){ var oTxt=document.getElementById('txt'); oTxt.onkeyup=function(ev){ var ev=ev || window.event; if(ev.keyCode==13 &&

前端笔记精彩博文周刊20150118期

下面是本期前端周刊了,欢迎关注我们的微博 @前端笔记网 或者我们的微信公众号 w3cmark_com. [行业资讯] 1.[用点]单身狗只能学学杜蕾斯的文案?还能买个安全套来照明呢 杜蕾斯的文案在2014年引发了一波又一波病毒式传播,几乎已经让“安全套”这个词不再敏感. 2.风口还是悬崖?互联网金融六模式在2015 如果说2013年底的时候仍然有很多企业和资本没有意识到这个风口,在刚刚过去的2014年可真是火力全开玩命投入.同时,在2014年第三季度,互联网金融的标杆产品余额宝第一次出现规模下降

【JS学习笔记】js中关于传地址的问题

我觉得初学者应该会遇到很多这样的问题 条件1.不想定义全局变量的时候 条件2.定义了外围变量却又要引用并且修改其中内容的时候 以下转一篇文章 -------------------------------------------------------------------------------------------------------------------------------------------------------- 很多人,包括我,受书本知识消化不彻底的影响,认为 J

笔记-[面向对象]-JS基于面向对象编程-[1]

面向对象(oop):是一种开发过程中,以面向对象的一种编程思维进行开发. 在JS中,我们一般采用的是面向过程的开发. 面向对象的特点:抽象.封装.继承.多态 先看看自定义对象如何写:自定义一个人的对象,人的名字,年龄,或者是说话.在下面,name age是这个人的属性,说话是这个人的一种行为,也可以叫方法.这样也可以理解为一个简单的面向对象的编程.对象从哪里来,如 var arr=new Array();这个就是一个数组的对象,它从js的一个内定的系统方法类来的. 例如:定义一个人的类,每一个人

笔记-[面向对象]-JS基于面向对象编程-[2]

下面是一个类定义私有属性的例子,和如何在类外部调用类内容的私有属性, <script type="text/javascript">var people=function(name,work,address){ var marry=1;//定义一个私有属性 marry  私有属性和私有方法在外部不可以直接调用访问 this.name=name; this.work=work; this.address=address; this.calls=function(){ aler