IME應當如何觸發鍵盤事件呢?是每一下擊鍵都觸發一次事件,還是選詞完畢才觸發事件呢?整句輸入又該如何觸發事件呢?不同的作業系統和不同的瀏覽器對此有不同的看法。在最糟糕的情況下,使用者使用IME後瀏覽器就只觸發一次 keydown ,之後就沒有任何的鍵盤事件了。這對於 Suggestion 控制項的實現來說是個大問題,因為 Suggestion 控制項需要監聽文本輸入框的變化,而事件是最準確也最節省計算資源的做法,如果換成輪詢的話效能就可能受到影響。 首先,要監聽啟用IME後的擊鍵事件應當使用
對於jQuery的寫法甚是困惑,尤其在使用Prototype的$後,一度不能理解jQuery的$。對於現在前端同學來說,可能第一個接觸的就是jQuery了,他們會覺得很習慣,很自然。至今電腦裡還存放著當時的API文檔,發個圖感歎下在這段時間內,我的入門老師是墨墨,其實至今他仍然是我敬仰的同事之一。他的編程造詣很高,相信早已突破了程式設計語言的限制。在大家都在使用Prototype.js的時候,在jQuery尚未在國內流行的時候,他就已經把jQuery引入到項目中了。言歸正傳吧,目前的jQuery
$("#keyword")[0].value = ""; /*獲得TEXT.AREATEXT的值*/ var textval = $("#text_id").attr("value"); //或者 var textval = $("#text_id").val(); /*擷取選項按鈕的值*/ var valradio = $("input[type=radio]:checked").val(); /*擷取一組名為(items)的radio被選中項的值*/ var item = $('input[
每個Element可以擁有多個隊列,但是基本上都只使用到一個,即預設的fn隊列。隊列允許一系列函數被非同步地調用而不會阻塞程式。例如:$("#foo").slideUp().fadeIn();其實這個就是我們大家常用的鏈式調用,實際上這是一個Queue。所以隊列和Deferred地位類似,是一個內部使用的基礎設施。當slideUp運行時,fadeIn被放到fx隊列中,當slideUp完成後,從隊列中被取出運行。queue函數允許直接操作這個鏈式調用的行為。同時,queue可以指定隊列名稱獲得其他
複製代碼 代碼如下: setTimeout(function(obj){ alert(obj.a); }, 2000, {a:1}); 即傳了第三個參數,第三個參數將作為回呼函數的參數obj傳入。在非IE瀏覽器中都彈出了1。這樣有個好處,即解決了回呼函數的執行內容,比如要調用某個對象的某個方法,即可以通過參數把該對象傳進去。 複製代碼 代碼如下: setTimeout(function(obj){ obj.method(); }, 2000, obj); 當然,你還可以傳多個參數給回呼函數,
(主要是留個備用,怕以後再用到自己卻忘記了,所以沒有太多的解釋,實在看不明白的話,照著My Code,你也試一個吧) 我後端是用php的,以下代碼主要實現的一個功能就是提供一個預約登記的介面,需要傳入的資料分別有:使用者姓名、聯絡電話和地址 /*預約登記 執行 介面*/ 複製代碼 代碼如下: /*預約登記 執行 介面*/ case "yuyue_interface": $name = trim($_GET['name']); $phone = trim($_GET['phone']);
1)$.parseJSON方法返回的是一個字串,而不是JSON對象。 2)要將字串轉化成對象,很容易想起JS中的eval方法。事實上是可以的,不過需要加上括弧。如var js="{\"PageIndex\":\"1\"}";var obj=eval("("+js+")");。不過使用eval,是不安全的,因為其可以編譯任何js代碼。
用過 Java 和 .NET 的同學對包或命名空間的概念應該不會陌生, 正因為有這個概念, 使代碼的簡潔易讀得到了保證. 不知 JavaScript 設計之初是如何定位 with 語句的, 個人覺得它們之間有一定的相似性. 如: 複製代碼 代碼如下: apple.banana.candy.dog.egg.fog.god.huh.index = 0; doSomething(apple.banana.candy.dog.egg.fog.god.huh.index); 利用 with 語句,
廢話少說,直接進入正題,我們先來看一些簡單的方法,這些方法都是對jQuery.ajax()進行封裝以方便我們使用的方法,當然,如果要處理複雜的邏輯,還是需要用到jQuery.ajax()的(這個後面會說到).1. load( url, [data], [callback] ) :載入遠程 HTML 檔案代碼並插入至 DOM 中。url (String) : 請求的HTML頁的URL地址。data (Map) : (選擇性參數) 發送至伺服器的 key/value
看看這些非常棒的jQuery外掛程式吧,我相信你會發現一些很有用的東西。lsotopeIsotope 是一款精緻的 jQuery外掛程式,用於建立單純用 CSS 無法實現的智能的、動態布局,非常強大。 letteringLettering 是一款用於實現激進的網頁排版的 jQuery 外掛程式,可以協助你在網站中加入豐富多彩的文字效果。jQuery.spritelyjQuery.spritely 是一款簡單、輕量的
1. 很多網站都是使用這種方式引入,客戶的瀏覽器可能已經緩衝過了 jquery。可以直接調用本地的,速度更快… 2. Google code 使用了 cdn 技術在很多地方有節點伺服器,載入 jquery 時絕對不會比在你伺服器上載入慢,本機伺服器除外 : ) 3. 可以節省伺服器流量,降低伺服器頻寬壓力 可以使用兩種方式引用 google code 的jquery 一、引用 http://www.google.com/jsapi?key=Goolge 密鑰 <script
這兩天嘗試寫個AjaxToolkit:AsyncFileUpload的Demo, 它有個OnClientUploadComplete屬性可以關聯用戶端JS, 於是可以寫OnClientUploadComplete="uploadComplete", 然後定義uploadComplete方法: 複製代碼 代碼如下: function uploadComplete(sender, e) { //Do something here... } 但是, 怎麼從e獲得上傳檔案的資訊呢?
f1.php頁面JS代碼,第二個傳的參數必須是self不能是別的 複製代碼 代碼如下: <script type="text/javascript"> function dianJi(){ //快顯視窗關閉前,原視窗不能獲得焦點
小結一下: 1.整個類庫定義在一匿名函數中,杜絕了全域變數的產生; 2.將undefined 作為缺失的參數傳遞,防止了undefined 變數的汙染; 3.可以看出$(...) 實際上返回的是jQuery.fn.init 對象的執行個體,隨後將該對象的prototype 指向了jQuery.prototype (語句jQuery.fn.init.prototype = jQuery.fn),因此產生的執行個體共用著jQuery.prototype 裡的方法和屬性且實現了鏈式編程的操作;
這樣之前的功夫又白費了。解決這些問題的辦法就是:監控頁面資料是否發生變化。如果發生變化,提示使用者儲存。如果資料未發生變化。當我們點擊儲存時,也不需要提交到資料庫。 接下來看看解決辦法: 複製代碼 代碼如下: ///<reference path="jquery-1.3.2-vsdoc2.js" /> (function($) { var pageDataChange = false //預設標識頁面資料未發生改變 /*監控頁面資料是否發生變化*/
舉個例子: <p style="color:yellow">緋雨</p>使用eq來獲得第一個p標籤的color值: $("p").eq(0).css("color") //因為eq(num)返回的是個jq對象,所以可以用jq的方法css使用get來獲得第一個p標籤的color值: $("p").get(0).style.color
Jquery判斷IE6的代碼: 複製代碼 代碼如下: if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) { //代碼 } jquery 判斷瀏覽器方法 jquery中利用navigator.userAgent.indexOf來判斷瀏覽器類型,並進行了一下處理,如果不想使用jquery,稍為修改下代碼就可以為自己所用 jquery判斷瀏覽器的源碼(jquery1.31為例) Js代碼: 複製代碼
單例模式的三個特點: 1,該類只有一個執行個體 2,該類自行建立該執行個體(在該類內部建立自身的執行個體對象) 3,向整個系統公開這個執行個體介面 Java中大概是這個樣子 複製代碼 代碼如下: class Singleton { //私人,靜態類自身執行個體 private static Singleton instance = new Singleton(); //私人的構造子(構造器,建構函式,構造方法) private Singleton(){} //公開,靜態Factory 方法
思路就不說了,記得以前寫過一個自動切換的幻燈外掛程式:,思路有部分是類似的。當然,本文中外掛程式源碼中也有注釋~ 外掛程式核心代碼:點此查看示範 複製代碼 代碼如下: $.fn.WIT_SetTab=function(iSet){ /* * @Mr.Think * Nav: 導航鉤子; * Field:切換地區 * K:初始化索引; * CurCls:高亮樣式; * Auto:是否自動切換; * AutoTime:自動切換時間; * OutTime:淡入時間; * InTime:淡出時間; *
功能如下:如果使用者名稱為空白提示“使用者名稱不可為空 ” 如果使用者名稱存在提示“使用者名稱[xxxxxx]已經存在,請使用其他使用者名稱, 4 ” 如果使用者名稱不存在提示“使用者名稱[xxxxxx]尚未存在,可以使用該使用者名稱註冊, 5”運行效果如下: