javascript對滑鼠左中右鍵的捕捉情況

先測試click事件,下面是測試代碼:var addEvent = document.addEventListener ? function(el,type,fn){ el.addEventListener(type,fn,false);}:function(el,type,fn){ el.attachEvent("on"+type,function(){ fn.call(el,window.event); });}window.onload = function(

javascript Function相關

function Block(func, tag) { var _r_function = /^function\b\s*([\$\S]*)\s*\(/; var _r_codebody = /[^{]*\{([\d\D]*)\}$/; var _r_params = /[^\(]*\(([^\)]*)\)[\d\D]*/; tag = (tag || 'body').toLowerCase(); with (func.toString()) {

JavaScript 緩衝函數

在我《惰性函數》一文引起一些爭議,有人總是把惰性函數與緩衝函數(Memoization)混為一談。雖然都是緩衝了結果,但最大的區別是一個改寫函數本身,一個沒有。那我就說一下緩衝函數吧。簡而言之,就是把上次運算的結果放到一個數組或對象中。拿什麼做實驗好呢?就拿那個Fibonacci數列吧,估計IE6會比較嗆,一般5秒運算不了就假死了。我們先看消耗時間,再看結果。一直接用遞迴實現: function fib(n){ if (n == 0 || n == 1)

javascriptプログラマのレベル10

週末料理をしていて足を切ってしまいました。agoです。以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー當時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。

javascript 測試載入器 abut v2

綜合眾人的意見,此版本做了許多改進,如對注釋抽取的最佳化,增加對script標籤的支援,即時性的測試等等。// dom.abut v2 (annotations-based unit testing by 司徒正美)// http://www.cnblogs.com/rubylouvre/archive/2010/11/08/1868638.html(function(){ //ecma262新擴充 if(!Object.keys){ var _dontEnum =

微型的javascript REPL

REPL(Read Eval Print Loop)是一種非常有用的工具,能讓我們即時運行代碼得到結果。雖然相比於firebug的控制台來說,這簡直不值一提,但在個人部落格中提供示範時它還是比較有用。下面是它的所有代碼,包括html。<textarea style="width:100%" onkeyup=" this.rows=(function(t){ for (var i=0,h=1;i<t.length;i++) if (t.charAt(i) == '\n') h+

javascript 隨機數

// by 司徒正美 http://www.cnblogs.com/rubylouvre/ var native_random = Math.random; Math.random = function(min, max, exact) { if (arguments.length === 0) { return native_random(); } else if (arguments.length === 1) {

javascript 模板系統 ejs v2

本版本主要是對原模板系統進行提速,去掉消耗巨大的輔助函數。本來想用它與John Resig的 Micro-Templating比較一下速度,發現對方無法處理複雜的模板,殘念。 //司徒正美 javascript template - http://www.cnblogs.com/rubylouvre/ - MIT Licensed (function () { if(!String.prototype.trim){

javascript 非同步編程2

好像有這麼一句名言——"每一個優雅的介面,背後都有一個齷齪的實現"。最明顯的例子,jQuery。之所以弄得這麼複雜,因為它本來就是那複雜。雖然有些實現相對簡明些,那是它們的相容程度去不了那個地步。當然,世上總有例外,比如mootools,但暴露到我們眼前的介面,又不知到底是那個父類的東西,結構清晰但不明撩。我之所以說這樣的話,因為非同步列隊真的很複雜,但我會儘可能讓API簡單易用。無new執行個體化,不區分執行個體與類方法,鏈式,等時髦的東西都用上。下面先奉上源碼:;(function(){

javascript 編程規範

為公司起草的javascript編程規範,參考了網上的許多資料,尤其是google的規範。現在放出來,希望能拋磚引玉,大家多提寶貴意見。本規範是針對javascript函數式編程風格與公司嚴重依賴於jQuery進行編碼的現實制定出來。禁止使用eval,with與caller(ecma262 v5 的use strict要求)。eval只允許在加密時機器產生。聲明變數必須加上 var

javascript模板系統 ejs v3

本版本增添了局部模板功能,並且允許主模板調用局部模板,局部模組調用局部模組,並去掉onsite變數,不再提供解析成畢的文檔片段給使用者。它使用雙重緩衝,一是緩衝那些通過同步請求得到的文本而成的數組,一是整體解析完畢得到的模板函數。模板函數是通過數組元素拼湊動成解析而成的,這是大大提高了效率。不過由於新功能的加入,雖然動用了新的構築演算法也比不上v2的構築速度了……有人說不要使用<%與%>做界定符,這個問題我在v1版本已經提出過了,這些都是可以自訂的。本文的例子將示範一下如何使用Dja

How to Detect Font-Smoothing Using JavaScript

In an earlier article, I mentioned that Boing-Boing had a few issues when they wanted to use @font-face embedding inside their website. In short, the problem was that some fonts look bad on computer monitors without font-smoothing enabled in the

method_missing in JavaScript(SpiderMonkey)

   ruby的method_missing魔法在JavaScript中是否有類似等價物?答案是SpiderMonkey的__noSuchMethod__ 方法。示範如下(請firebug大神出馬): var obj = {};obj.__noSuchMethod__ = function(/*String*/methodName,/*Array*/arrArguments){ console.log(methodName, arrArguments);}obj.test(1,2);//

javascript 在字串嵌入運算式

在C語言中,有一個叫printf的方法,我們可以在後面添加不同的類型的參數嵌入到將要輸出的字串,這是非常有用的方法,因為在javascript有大量這樣的字串拼接操作。如果涉及邏輯,我們可以用模板,如果輕量點,我們發現在主流架構,都提供了一個叫substitute的方法(在Prototype為interpolate,

javascript 事件冒泡的補充

scroll在IE8-9中無法捕獲,由於又不能冒泡,因此無法使用事件代理.它在FF下可以通過捕獲來處理.focus與blur事件在IE下可以通過focusin與focusout事件來類比,但對於那些不能非表單元素或連結或圖片等一般元素,我們需要給它設定tabIndex,才能讓它擁有捕獲焦點或失去焦點的能力.在某些非常新的標準瀏覽器中,可以使用DOMFocusIn,DOMFocusOut來類比,但這種不能使用onXXX調用的事件隨時可能廢棄,因此我也不會用它們來類比.focus,blur的事件代理

javascript 模板系統 ejs v7

文章目錄 javascript模板系統 ejs 第七版!更新日誌多重參數變形化,四種傳參方式 javascript模板系統 ejs 第七版!本版本只要是對其易用性進一些修改,去掉兩個冗餘的功能。我發現我的模組系統天生就能實現模組套嵌,因此有關子模板匯入的兩個操作符去掉。對參數進行多態化,可簡單地傳入一個字串來指定目標元素的選取器或目標檔案的URL(通過url(http://)來區分)與一個參數對象,也可以像EXT那樣傳入一個雜湊。

JSON: The JavaScript subset that isn’t

Written by Magnus Holm.From Wikipedia’s article on JSONJSON was based on a subset of the JavaScript scripting language.All JSON-formatted text is also syntactically legal JavaScript code.JSON is a subset of JavaScript.All these years we’ve heard it

使用requestAnimationFrame更好的實現javascript動畫)

文章目錄 定時器Timer間隔動畫intervals問題mozRequestAnimationFramewebkitRequestAnimationFrame總結 一直以來,JavaScript的動畫都是通過定時器和間隔來實現的。雖然使用CSS transitions 和 animations使Web開發實現動畫更加方便,但多年來以JavaScript為基礎來實現動畫卻很少有所改變。直到Firefox

javascript String.indexOf實現

群裡abcd提出問題,現在有以下三個實現,歡迎大家參與(注意,為了相容IE6,不能使用str[i],要用str.charAt(i);不能使用slice,replace等原生函數):GrayZhang的實現String.prototype.substring = function(start, length) { var array = []; for (var i = start; i 我的實現://by 司徒正美 2011.8.18String.prototype.indexOf

javascript 讓執行個體的方法都非同步執行

var C = function(){ this._methodList = [];}C.prototype.fire = function(obj){ var instance = this; while(obj = this._methodList.shift()){ if(isFinite(obj.fn)){ var time = new Date; instance.timeoutID = setTimeout(

總頁數: 3271 1 .... 349 350 351 352 353 .... 3271 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.