Time of Update: 2017-01-19
一、什麼是事件冒泡 在一個對象上觸發某類事件(比如單擊onclick事件),如果此對象定義了此事件的處理常式,那麼此事件就會調用這個處理常式,如果沒有定義此事件處理常式或者事件返回true,那麼這個事件會向這個對象的父級對象傳播,從裡到外,直至它被處理(父級對象所有同類事件都將被啟用),或者它到達了對象層次的最頂層,即document對象(有些瀏覽器是window)。 打個比方說:你在地方法院要上訴一件案子,如果地方沒有處理此類案例的法院,地方相關部門會幫你繼續往上級法院上訴,比如從市級到省級,
Time of Update: 2017-01-19
雖然這個集合的 key 只能是 String 類型,不像 Java 裡面的各種集合類能夠使用各種對象作為 Key ,但對於實現一般的用戶端 JS 功能來說,已經是足夠用了。同樣,因為所有的 JS 內部對象都繼承自 Object 對象,所以實際上 JS 的 Array 對象也可以使用字串來做為數組的下標,就像 PHP 中的陣列變數一樣。來自鳥食軒。
Time of Update: 2017-01-19
JQuery,mootools,Ext等類庫在這部分實現得非常艱辛,盤根錯節地動用一大堆方法,因此想把這部分摳出來難度很大。深入研究它們的實現後,根據我積累的CSS知識,終於做出一個非常簡煉的版本出來。它相當於JQuery.cssCur吧,不過或許功能還豐富一些,按飲食業話說叫“加量不加價”,我的可能還應叫“加量還減價”……版本還處於Beta階段,由於只個工具函數就不弄成類了。 複製代碼 代碼如下: var getStyle = function(el, style){ if(!+"\v1"){
Time of Update: 2017-01-19
代碼如下,簡單實用。因為需要用到這個東西,所以很無恥的拾人牙慧,收藏一下。<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title><script type="text/javascript"> function doPrint() {
Time of Update: 2017-01-19
IE對盒模型的渲染在 Standards Mode和Quirks Mode是有很大差別的,在Standards Mode下對於盒模型的解釋和其他的標準瀏覽器是一樣,但在Quirks Mode模式下則有很大差別,而在不聲明Doctype的情況下,IE預設又是Quirks Mode。所以為相容性考慮,我們可能需要擷取當前的文檔渲染方式。 document.compatMode正好派上用場,它有兩種可能的傳回值:BackCompat和CSS1Compat。
Time of Update: 2017-01-19
一. 三種數組複製方法 1. by slice var arr = [1, 2, 3], copyArr; copyArr = arr.slice(); 2. by concat var arr = [1, 2, 3], copyArr; copyArr = arr.concat(); 3. by loop var arr = [1, 2, 3], copyArr = []; for (var i=0, j=arr.length; i 二. 測試環境 瀏覽器: IE6+, FF 3.5.5,
Time of Update: 2017-01-19
httml代碼: 複製代碼 代碼如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled
Time of Update: 2017-01-19
學習 jQuery 有許多途徑,我們今天從 jQuery 的 ready 函數開始。本例中的代碼都來自於 jQuery 指令碼庫。如果你使用過 jQuery , 就必然使用過 ready 函數,它用來註冊當頁面準備好之後可以執行的函數。問題來啦,我們的頁面什麼時候準備好了呢?onload 事件最基本的處理方式就是頁面的 onload 事件,我們在處理這個事件的時候,可以有多種方式,即可以通過 HTML 方式,直接寫在 body 元素的開始標記中,也可以使用事件註冊的方式來使用,這又可以分為
Time of Update: 2017-01-19
使用樣本: 複製代碼 代碼如下: var qs = new QueryString(query); qs.set("ajaxids", ids) qs.set("ajaxsn", new Date()) query = qs.toStr(); 也可以連續調用: 複製代碼 代碼如下: query = new QueryString(query).set("ajaxids", ids).set("ajaxsn", new Date()).toStr(); 其它用法就自己看代碼琢磨吧。 完整代碼:
Time of Update: 2017-01-19
之前雲棲社區發不過類似的文章JavaScript null和undefined區別分析JavaScript Undefined,Null類型和NaN值區別先說說undefined: Javascript中的變數是弱類型的(關於這個我想就不用我多解釋啦), 所以聲明變數的時候只需使用var關鍵字即可。如果是像C這樣的強型別語言,
Time of Update: 2017-01-19
我們知道通過瀏覽器內建的innerHTML 屬性能夠擷取節點的所包含的字串的值,比如有如下節點: 複製代碼 代碼如下: <div id="test"><strong>i'm strong</strong></div> 通過 複製代碼 代碼如下: var obj=document.getElementById("test");alert(obj.innerHTML);//返回的值是<strong>i'm
Time of Update: 2017-01-19
如今的JavaScript再也不是以前被當做玩具的在網頁上啟動並執行花哨的指令碼了。JavaScript已經逐漸標準化,作為一門真正的程式設計語言廣泛地應用在Web開發上。因此,越來越多的人開始重新認識這門指令碼語言,並在不斷地探索關於JavaScript核心思想和實現原理,過程中遇到了一些非常混淆的問題。本文著重解釋一個比較常見但是非常容易使開發人員或者是初學JavaScript的人非常混淆的問題,那就是兩個核心建構函式Object和Function,他們之間到底有什麼關係?為何instanc
Time of Update: 2017-01-19
在javascript中允許使用嵌套函數: 嵌套函數 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 記住這名話: 嵌套實際是要實現一種迴圈,是迴圈就有雙個把柄讓我們抓:一個是終止條件,一個是增量。 嵌套函數和普通函數有一點不同: 既然是嵌套函數,就是把自身當作值運用到函數體內。這就要求函數必須有一個傳回值。就要用return語句。 舉例分析: 例一: 複製代碼 代碼如下: function a(x){ if(x<=1) return 1;
Time of Update: 2017-01-19
不同的是setInterval會每隔指定的時間段就執行一次代碼,具有重複性。而setTimeout只會調用後執行一次。 下面通過函數的建立和函的自動刪除來深刻理解兩個函數; 1.函數的建立 setTimeOut的建立: 複製代碼 代碼如下: showTime(); function showTime() { var today = new Date(); alert("The time is: " + today.toString()); setTimeout("showTime()", 500
Time of Update: 2017-01-19
css 複製代碼 代碼如下: <style type="text/css"> #bodycontainer { height: 66px; } #leftcontainer { background-color: #C5C5C5; float: left; border: 1px solid #C5C5C5; } </style> aspx: 複製代碼 代碼如下: <div id="bodycontainer"> <div
Time of Update: 2017-01-19
但有時候,需要當某事件觸發時,我們先做一些操作,然後再跳轉,這時,就要用JAVASCRIPT來實現這一跳轉功能。 下面是具體的做法: 一:跳轉到新頁面,並且是在新視窗中開啟時: 複製代碼 代碼如下: function gogogo() { //do someghing here... window.open("test2.html"); } window是一個javascript對象,可以用它的open方法,需要注意的是,如果這個頁面不是一相相對路徑,那麼要加http://,比如: 複製代碼
Time of Update: 2017-01-19
複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head> <title> New Document </title> </head> <script language="javascript"> function RunOnBeforeUnload() {window.onbeforeunload =
Time of Update: 2017-01-19
我開啟firebug的console,花了30秒想,30秒寫,結果如下:(x為目標數組,y是去除重複元素後的結果) 複製代碼 代碼如下: var x=[1,1,3,4,5,3]; var y=[]; var tArray=function(i,arr){ var yap=false; for(var j=0;j<arr.length;j++){ if(arr[j]==i){yap=true;break;}; } if(!yap) arr.push(i); }; for(var t=0;t&
Time of Update: 2017-01-19
後來是一技術群問到以下一段代碼: 複製代碼 代碼如下: function html2node(s) { var d = document.createElement('div'); d.innerHTML = s; if (d.childNodes.length == 1) return d.childNodes[0]; var df = document.createDocumentFragment(); while (d.firstChild)
Time of Update: 2017-01-19
我們在傳送參數時,經常會碰到向後台傳送一些相同屬性的參數,最好的選擇是採用數組的方式。當我們向後台傳送時只需要在javascript中正常定義並使用數組,將其作為參數向後台傳遞: 複製代碼 代碼如下: var arry= new Array(); arry[0] = "102"; arry[1] = "103"; arry[2] = "104"; url = "test.jsp?arry="+arry; 在背景接受方法: [code] String arry =