Js經常使用函數和問題

Js經常使用函數和問題react

函數jquery

getCurKeyCode瀏覽器

=====================微信

     獲得輸入的keyCodcookie

=====================e session

 

$(document).on("keyup", "input", function(evt){dom

    console.log(evt.keyCode)函數

})  this

 

* 在微信中瀏覽器不支持keyCode,獲得的keyCode都等於0;spa

getCaretPosition

====================

獲得當前輸入位置

====================

 

function doGetCaretPosition (oField) {

    // Initialize

    var iCaretPos = 0;

    // IE Support

    if (document.selection) {

    // Set focus on the element

        oField.focus();

    // To get cursor position, get empty selection range

        var oSel = document.selection.createRange();

    // Move selection start to 0 position

        oSel.moveStart('character', -oField.value.length);

    // The caret position is selection length

        iCaretPos = oSel.text.length;

    }

    // Firefox support

    else if (oField.selectionStart || oField.selectionStart == '0') {

        iCaretPos = oField.selectionStart;

        if (isNaN(iCaretPos)) {

            iCaretPos = 0 

        }

    }       

    return iCaretPos;

}

getOrSetCookie

 function getOrSetCookie(){

    var fn = $.fn.cookie;

    if ($.hasOwnProperty("cookie")) {

        fn = $.cookie;

    }

    if(arguments.length == 1) {

        return fn(name);

    }

    fn(name, value, expire);

 }

 * 兼容jquery 或者 zepto-cookie的cookie處理

Q&A

    1. js變量一直變化?
      js中變量是引用,若是一個變量,則若是別的地方改變了這個值,也會發生改變。只有 + 或者 concat纔會進行深度複製;
    2. js事件綁定的前後順序?
      若是一個dom元素上綁定多個監聽事件,則會根據綁定的前後順序進行函數處理。固然有的地方不是,存在addEvent和addEventListener,目前主要是先綁定先處理;在react上,首先會處理id,而後處理虛擬元素上的onClick。
    3. cookie 須要設置path嗎?會感染嗎?
      設置cookie時,默認若是不寫expires,則expires爲session,不斷開鏈接;而默認不寫path,則爲當前主目錄,若是是/m 或者 /。 刪除cookie時,path必須一致,不然沒法刪除cookie。 $.cookie("name","", {expires:-1, path:"/"}); $.cookie("name","ok",{path:"/"})
    4. js中爲何有時候用that來替代this指針?
      如何在事件響應中,如 $('#inputPhone').onClick(function(){ 當前的this指針指向$('#inputPhone),即該jquery對象 }) 若是該處理在一個封裝體內,則若是須要調用封裝體的函數,則須要用that來提早替代this。
相關文章
相關標籤/搜索