Time of Update: 2013-10-17
描述: 防止事件冒泡到DOM樹上,也就是不觸發的任何前輩元素上的事件處理函數。 version added: 1.0event.stopPropagation() 我們可以用 event.isPropagationStopped() 來確定這個方法是否(在那個事件對象上)調用過了。 這個方法對 trigger() 來自訂的事件同樣有效。 注意,這不會阻止同一個元素上的其它事件處理函數的運行。 Additional Notes:
Time of Update: 2013-10-17
1.如果密碼少於5位,那麼就認為這是一個弱密碼。 2.如果密碼只由數字、小寫字母、大寫字母或其它特殊符號當中的一種組成,則認為這是一個弱密碼。 3.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的兩種組成,則認為這是一個中度安全的密碼。 4.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的三種以上組成,則認為這是一個比較安全的密碼。 複製代碼 代碼如下: <script language="javascript"> //CharMode函數 function
Time of Update: 2013-10-17
瞭解了jQuery對DOM進行遍曆背後的工作機制,可以在編寫代碼時有意識地避免一些不必要的重複操作,從而提升代碼的效能。本文就從jQuery的遍曆機制入手簡單探討一下最佳化jQuery代碼的問題。 jQuery對象棧
Time of Update: 2013-10-17
剛好上次有同學提出疑問。剛好可以自測一下。先來看看老道在《JavaScript 精粹》P33 寫的吧。他對 String 對象擴充了一個 trim() 方法: 複製代碼 代碼如下: Function.prototype.method = function(name, func) { this.prototype[name] = func; return this; }; String.method('trim', function() { return
Time of Update: 2013-10-17
JavaScript 端: 複製代碼 代碼如下: //初始化頁面 function init() { var ary = JSONToArray(XMLReader("node","content.dibi")); var divtoc = document.getElementById("div_toc"); pageCount = ary.length; for(k = 0; k < ary.length; k++){ obj = eval('(' + ary[k] + ')');
Time of Update: 2013-10-17
原始的代碼: 複製代碼 代碼如下: //將文字轉換為16進位 function textToSix(str) { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } 改進後的: 複製代碼 代碼如下: //將文字轉換為16進位 function textToHex(str) {
Time of Update: 2013-10-17
複製代碼 代碼如下: <a href="#" onclick="clearNewMessageRemind();return false;">點擊取消閃爍提示</a> <script type="text/javascript"> var newMessageRemind={ _step: 0, _title: document.title, _timer: null, //顯示新訊息提示 show:function(){ var temps =
Time of Update: 2013-10-17
複製代碼 代碼如下: Date.prototype.format = function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" :
Time of Update: 2013-10-17
顯示表格式資料會涉及到一些東西,如欄位顯示隱藏,資料狀態,分頁之類。由於我們公司的產品涉及到很多的表格式資料顯示,而且每張表的欄位數都很多,在工作過程中(幾任同仁的努力),整合出一套自認為較為輕巧的方案。其中涉及到的外掛程式主要有:jQuery.columnmanager.expand.js(擴充columnmanager)jQuery.dropbox.js(自已寫的)jQuery.pager.expand.js(擴充pager) jQuery.cookie.js 其中pag
Time of Update: 2013-10-16
第十四章 錯誤處理與調試 1.開啟瀏覽器錯誤報表 1.1 Internet Explorer □Toos → Internet Option → Anvanced → Display a notification about every script error 1.2 Firefox □Tools → Error Console (Firebug) 1.3 Safari □Edit → Preferences → Advanced → Show develop menu in menubar/
Time of Update: 2013-10-16
取得視窗大小的代碼: 複製代碼 代碼如下: var pageWidth = window.innerWidth, var pageHeight = window.innerHeight; if(typeof pageWidth != "number"){ if(document.compatMode == "number"){ pageWidth = document.documentElement.clientWidth; pageHeight =
Time of Update: 2013-10-16
1.策略模式(Strategy): 定義了演算法家族, 分別封裝起來, 讓它們之間可以互相替換. 比如Collections.sort(List list, Comparator c); 可以通過實現多個Comparator介面來達到多種排序的目的. 2.裝飾著模式(Decorator): 動態給一個對象添加一些額外的職責. 比如java.io包. BufferedInputStream封裝了FileInputStream, 它們都實現了InputStream介面,
Time of Update: 2013-10-16
如果在學JavaScript這自由而變幻無窮的語言過程中遇到這種感覺,那麼就從現在形始,請放下的您的"偏見",因為這對您來說絕對是一片新大陸,讓JavaScrip慢慢融化以前一套凝固的編程意識,注入新的生機! 好,言歸正傳,先理解JavaScrtipt動態變換運行時上下文特性,這種特性主要就體現在apply, call兩個方法的運用上. 區分apply,call就一句話, 複製代碼 代碼如下: foo.call(this, arg1,arg2,arg3) == foo.apply(this,
Time of Update: 2013-10-16
遺憾的是,我用到的一個遺留系統並沒有做到這樣。於是在用戶端應用jQuery的ajaxPrefilter改造了一下調用方法。 複製代碼 代碼如下: <html> <head> <title>ajaxPrefilter demo</title> </head> <body> <script type="text/javascript"
Time of Update: 2013-10-16
昨天在用JS對前台浮點數進行合算時發現: 0.05+1.08=1.1300000000000001 上網查一查的確存在這種Bug,除了位元上控制之外也沒什麼也好的方法(希望高手能提出 其它思路)。 於是自己編寫一個控制小數位元的JS方法,解決開發燃眉之急 複製代碼 代碼如下: //小數位元控制,可以四捨五入 function Fractional(n) { //小數保留位元 var bit = 2; //加上小數點後要擴充1位 bit++; //數字轉為字串 n =
Time of Update: 2013-10-16
相信本菜單會讓你學習到一些新鮮的JS技巧。 JS仿蘋果工作列菜單 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2013-10-16
於是,細想之後,寫下本文,請各位大俠拍磚。 總所周知: null == undefined 但是: null !== undefined 那麼這兩者到底有啥區別呢? null 這是一個對象,但是為空白。因為是對象,所以 typeof null 返回 'object' 。 null 是 JavaScript 保留關鍵字。 null 參與數值運算時其值會自動轉換為 0 ,因此,下列運算式計算後會得到正確的數值: 運算式:123 + null結果值:123 運算式:123 * null結果值:0
Time of Update: 2013-10-16
Entity: 複製代碼 代碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; namespace Entity { [DataContract] public class User { [DataMember] public string Name { get; set; }
Time of Update: 2013-10-16
複製代碼 代碼如下: (function (clover) { clover.loadScript = function loadScript(url, callback) { var heads = document.getElementsByTagName('head'); if (heads.length == 0) { alert("page must have one head element"); } var head = heads[0]; var script =
Time of Update: 2013-10-16
複製代碼 代碼如下:$.format = function (source, params) { if (arguments.length == 1) return function () { var args = $.makeArray(arguments); args.unshift(source); return $.format.apply(this, args); }; if (arguments.length > 2 && params.constructor !=