in

Darkthread

黑暗執行緒
All Tags » jQuery (RSS)

Browse by Tags

  • 小試 JavaScript Promise

    非同步邏輯是寫 JavaScript 逃不掉的複雜課題,古早流行的做法是傳入 Callback 函式當參數,待特定作業完成再呼叫,缺點是串接程序一旦變多,就會出現波動拳式排版,寫到渾然不知身處夢境第幾層: asyncJob1( function () { //Callback 函式: asyncJob1 完成後呼叫 //...... ayncJob2( function () { //Callback 函式: asyncJob2 完成後呼叫 //...... ayncJob3( function () { //Callback 函式: asyncJob3 完成後呼叫 //...... ayncJob4...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-22-2016
  • 在JavaScript模擬C# Dictionary、LINQ Where、Select與OrderBy

    一週內被兩位同事問到幾乎相同的問題,這一定是天意!趕緊寫篇FAQ以免天公伯不開心~ 【問題】 用JavaScript要怎麼實現Dictionary<string, T>? JavaScript有沒有類似LINQ Where()、Select()、OrderBy()的東西? 回答第一個問題,JavaScript物件本身就具備Dictionary<string, T>的特性,範例如下: <! DOCTYPE html > < html > < head > < meta charset ="utf-8" >...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-02-2016
  • 小技巧-為text-overflow: ellipsis增加完整文字顯示

    CSS 的 text-overflow: ellipsis 刪節號效果 可讓長度不一的文字等寬顯示,遇到版面空間有限又必須整齊排列時很好用,但套用刪節號樣式後看不到完整文字,尤其遇上文字前半截相同時更是難以區別,是一大困擾。為此,我的慣用解法是為套用 ellipsis 的文字元素加上 title Attribute 存入完整文字,將滑鼠移到文字上停留就能看到原始文字,問題迎刃而解。 每次套用 ellipsis 還要額外加 title 有點囉嗦,我寫了一小段  jQuery 讓程序自動化,範例如下提供大家參考: Live Demo <! DOCTYPE html > <...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 02-03-2016
  • 介紹jQuery map()與grep()

    寫這篇的動機是常在專案看到「古典式」JavaScript陣列處理,例如:跑迴圈將物件陣列的某個字串屬取出轉成字串陣列、篩選物件陣列取得特定類別的集合。用for迴圈處理沒什麼不對,但既然專案已經用了jQuery,能一行搞定卻寫成三五行不免可惜(程式又不按行數計酬,寫愈多手愈酸咩 XD)。感覺上還有些朋友不認識 $.map() 跟 $.grep() 這兩個好東西,故寫篇文章推薦一下。 若用LINQ做比方,$.map()相當於 .Select(o => 傳回數值或其他型別物件).ToArray(),可將物件陣列轉換成某個屬性或其他型別物件組成的陣列;$.grep()則類似 .Where(o =>...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-22-2015
  • 讓刪除確認通吃confirm及jQuery.Deferred

    最近在寫的元件有個「彈出對話框經使用者確認再刪除」的需求,原本是小事一椿,但之前介紹過 使用自訂確認對話框取代window.confirm 的技巧已廣泛應用在專案裡,某些時候也可能只用window.confirm就打發,問題就變複雜了。 二者最大的差異是前者($.kendoConfirm)為非同步執行,刪除動作需放在jQuery Deferred.promise()的done()方法;window.confirm則為內建同步指令,瀏覽器會等待使用者回應才往下執行,故用 if 判斷 true/false 決定是否刪除即可。 以下程式可看出兩種做法的差異: 線上展示 (關於 $.kendoConfirm...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-17-2015
  • 自製jQuery waitFor函式:等待條件成立執行作業

    在寫JavaScript程式時,常有協調非同步作業的需求,像是作業B必須等待作業A完成後再進行,傳統做法多使用Callback函式,例如: function doJobA(callback) { //do something callback(); } function doJobB() { //do another thing } doJobA(doJobB); 學會jQuery.Deferred後,我幾乎都改用Deferred處理非同步作業,不管串接多個作業循序執行[ 參考 ]或等待多項作業完成再進行,用Deferred都不難搞定。但有一些例外情況:等待對象不在我們掌握範圍(例如:位於其他Frame...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-28-2014
  • 【答客問】使用jQuery.ajax傳送複雜參數到ASP.NET MVC

    讀者小黑提問: 使用jQuery.ajax傳送物件陣列給ASP.NET MVC 一文已示範如何使用jQuery.post()傳遞List<Player>到ASP.NET MVC,但依該做法傳送List<string>卻無法成功,應如何解決? 熬不住手癢,就來動手實測玩看看吧!改寫前文的MVC Action,加入接收string[] mylist參數,同時結果改為players及mylist一併回傳: ///測試用Action,前端接入List<Player>,轉JSON後傳回 public ActionResult Update(List<Player>...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-10-2014
  • Yet Another Enter To Tab jQuery Plugin

    雖然按 Tab 切換輸入焦點已是Windows操作的普遍慣例,但每回在寫作業平台網站時,規格中總少不了"要能直接按 Enter 切換到下一個輸入欄位"的要求。網路上已經有很多在網頁上用 Enter 取代 Tab 移動焦點的 jQuery Plugin,但很可惜沒有一個100%滿足我的需求,所以,這世上又再多了一個用 Enter 取代 Tab 的 jQuery 套件 (Yet Another Enter To Tab) 囉! 它主要提供以下功能: 允許使用者以"Enter"取代"Tab"鍵移動焦點 支援 input, select 及 button...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-25-2014
  • HTML5上傳作業進度條-SignalR進階版

    【前情提要】 利用File API與XHR2 onprogress事件,我們成功做出 檔案上傳進度條 。但我在工作上常遇到另一種情境 -- 內部系統的上傳轉檔作業。營運資料檔案一般不大,加上在Intranet裡傳輸,上傳只在彈指間,Server端解析資料、塞入資料庫才是重頭戲,常得耗上幾十秒到幾分鐘。這種狀況下,用XHR2做進度條的意義不大,咻! 一秒不到就從0%到100%,但上傳資料何時能處理完只有天知道? 使用者終究又陷入無法得知系統還在跑或者已經當掉的焦慮。我想起了"SignalR",不如結合SignalR來打造一個由Server端回報的作業進度條吧~ SignalR版會以...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 03-10-2014
  • HTML5檔案上傳進度條

    在傳統網頁上傳大檔案,得等到全部傳完才會有回應,等待期間沒消沒息,搞不清楚是沒傳完還是當掉常為人詬病,也嚴重破壞使用者體驗。想在傳輸過程回報上傳進度,過去有些Flash、Java Applet或ActiveX的解決方案,但依賴外掛元件有部署及無法跨平台的疑慮。當HTML5規格漸成主流,長久以來的問題總算有了簡潔有效的解法。 要掌握上傳進度有一個關鍵: Client Script必須掌握檔案大小以及已上傳資料量,才可能計算上傳百分比回報狀態。傳統使用<input type="file">選取檔案配合<input type="submit">送出鈕的做法...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 03-09-2014
第1頁,共18頁 (178個項目) 1 2 3 4 5 下一頁 > ... 最後一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems