Focus first text field using jQuery

Monday, April 14, 2008

When it comes to focus the first text field on a page using jQuery , the usual solution would be:

JavaScript:
  1. $(“:text:visible:enabled:eq(0)”).focus();

This query means to find the first of input text field(s), which is/are visible and enabled. However, this would also extract text field(s) which is/are under a display:none parent(s). So a more complete way would be:

JavaScript:
  1. $(“:text:visible:enabled”).filter(function(){
  2.      return $(this).parents(“:hidden”).size()==0;
  3.  }).slice(0,1).focus();

The filter here would try to determine if the text field is a descendant of a hidden ancestor. The usage of slice(0,1) instead of get(0) is to keep the chainability. A test page is put up here .

Finally, you may wrap it up with a plugin:

JavaScript:
  1. (function($){
  2.     $.fn.focusFirstField = function(){
  3.         $this = this;
  4.         $this.find(“:text:visible:enabled”).filter(function(){
  5.             return $(this).parents(“:hidden”).size() == 0;
  6.         }).slice(0,1).focus();
  7.         return this;
  8.     }
  9. })(jQuery)

So that you can do this:

JavaScript:
  1. $(“#form1,#form2”).focusFirstField(); //form1 or form2 may be ‘hidden’ dynamically

I just wonder if there is any ‘selector-only’ solution for this?

Update: It turns out that the child’s visiblity would override parent’s visibility. So the filter should only check display none:

JavaScript:
  1. $(":text:visible:enabled").filter(function(){
  2.      return $(this).parents.filter(function(){
  3.          return this.style.display == "none"; })
  4.     .size()==0;
  5.  }).slice(0,1).focus();

I’ve updated the demo page .

背後的人

Tuesday, March 18, 2008

我有時會這樣形容一個歌者:背後有個人!

據說歌者的其中一項技巧,就是通過特別的發聲方法,使到聲音不單單只是從喉而發,而是引發身體不同部位產生共鳴,化身成一座喇叭,聲音得到放大,感覺深遠,嗓音直上雲霄,繞樑三日。看上去的感覺,就好像是背後有人在發聲。

這種技巧最常見於歌劇,因為古時沒有米高峰,歌者的「發聲能力」便是其中一項判別其是否「唱得」的指標。不過自從有了米高峰擴音,就變化更多不同的唱發,可以耳語,可以氣聲,可以談話,不一定要背後有個人。不過即使是流行歌,一般在副歌部份都會比較激情,雖要比較有力和雄壯的聲音攀上高音,若能叫背後的兄弟幫幫手,則聲音夠震撼之餘,亦可顯功架。當然最厲害的,就是可收可放,可真可假!

其實說了半天不到題,之所以想到上文,就是因為看了《港樂 x 梁漢文 + 鄭中基》。兩位其實也是「唱得」之人,不過在上半場時,可能未及熱身,也可能緊張,二人之力不太能敵九十多人的管弦樂團,背後的兄弟不夠力,便淹沒在一層又一層的樂聲之中。幸而後來也漸入佳境,算是發揮了水準。

《港樂》流行曲演唱會自張學友便紅了起來,這麼多年來算是越來越公式化。本人親身看《港樂》流行曲演唱會的經驗不多,其他大都是聽錄音。最幸運的是聽了林憶蓮那一次現場,通透有力的聲音,叫人陶醉,她背後也有人,而且更是收放自如。而錄音的版本,印象最深刻的是林子祥,他的唱法最「放」,最雄壯,唱《數子人生》滲入了《威廉‧泰爾》間場,十分合適,而且唱來雄亮有力,背後團隊強大,跟管弦樂團相當配合。

而這一次,則有很多畫蛇添足的感覺,首先是電子樂隊與管弦樂相衝的感覺,不太搭調。選曲在「管弦樂化」後也未見有新火化。兩位歌者太斯文,不夠「natural high」,帶動不了場內氣氛,反而是間場的 Joey Tang 和 Patrick 的演唱和二胡表演最搶眼,是主辦怕兩位不夠能力,所以加這麼多「甜頭」嗎?這還不如回歸原本,做好港樂的原意:以流行曲與管弦樂拼新火花。

復仇悲劇 - 魔街理髮師

Monday, February 18, 2008

Swneey Todd

另一齣在新年看的戲,就是《魔街理髮師》。新年流流看有點血腥腥的電影,意頭不太好吧?不過,你又很難抗拒 Tim Burton 加 Johnny Depp 這組合,而且還竟然是音樂劇!

起先看故事介紹,就想會不會太過簡單了點?但事實上,故事還是蠻豐富的,除了主線 Sweeney Todd 的復仇外,還有 Mrs. Lovett 對 Sweeney Todd 和 Toby 的感情,少年 Anthony 對 Johanna 的愛慕等等。而每一支線又與主線緊緊相扣,因為即使他們的感情如何發展,都不及「復仇」二字,它摧毀了一切。

Johnny Depp 目無表情地演譯心死了的丈夫,內心只有手刃仇人,亦走上不歸路。本來他還只是殺仇人,但後來憤怒令他失去理智,覺得全世界的人都欠了他,甚至見人就殺,幾乎所有顧客都糟毒手,只是不殺有妻有兒女的。而在經歷多番的殺人練習後,他已是熟手技工,手起刀落面不改容,再配合 Mrs. Lovett 毀屍滅蹟,更殺得亳無顧忌。最後,他的確手刃了仇人,但也因殺了很多不該殺的人,令他後悔,甚至間接殺死自己。

整齣戲顯露了黑黑暗暗的氣氛,與故事相配合。經常昏暗的天色,顯得城市灰塵撲撲,骯骯髒髒,市裏有為所欲為的法官、騙人的江湖郎中、賣貓肉人肉的黑店、流離失所的瘋婦、手執剃刀的復仇者,只有年輕的 Anthony 和 Johanna 仍然擁有熱情和動力,去逃離這種叫令人墮落的氣氛。

音樂方面,即使不是唱家班的 Johnny Depp、Helen 也有不錯的成績。最搶耳的當然是女兒 Johanna 高聳入雲的嗓音。不過音樂本身並不特別好聽,聽過後印象不算太深刻。

音樂劇的故事都傾向於簡單,在一首又一首的歌曲中描寫各個角式的想法和心情。電影則有更多的描述空間,以環境、角色近鏡、剪接等等說故事。《魔街理髮師》在這一層面上,將這個復仇悲劇,說得令人刻骨銘心。

聽歌不聽詞

Saturday, December 1, 2007

聽歌最特別的地方,是音樂跟歌詞是可以割裂,即是說就算歌詞不知所云,又或歌手唱到一舊舊,只要旋律配樂編曲可以牽動聽者的情緒起伏,歌手的唱腔到位,仍然可以千古傳頌。

以下是一首我蠻喜歡的作品 — 蔣嘉瑩的《假如真的再有約會》:

(我常常對這歌有「買一送二」的感覺,因為最激昂的副歌只出現一次,也不只是前段的變奏,而是新的旋律)

但如果細看歌詞,其實理不出一個頭緒,好像詞語大堆砌。如果從這首歌是當年《疆屍 2》的主題曲來看,大概可以連結起一堆詞語:清醒、夢、愛情、本性、人間、來世、虛空、約會….. 但仍然是沒有紋路。

假如真的再有約會 – 蔣嘉瑩
曲︰西村由紀江
詞︰鍾志榮

人清醒 難感性 迷失方能找到期待愛情
夢中見 亦高興 能將心靈希冀盡說明

*誰決定 人本性 或許生命中有埋沒姓名
純真愛 難記認 人間本來應該是有情

望這不再熟識破落故城
何以變了這樣寧靜 長街失去歡欣笑聲
留下我孤單的一個生命
疑望這風雪 未知那日會停
來世你我要是重認 能否找到彼此背影
假如全無憑無証

(由*重唱)

原諒我當天不懂得珍惜
只知任性 壞事情
唯願你此刻可於虛空中 將心聆聽
將來若 真的再有個約會會完成
真的會再有這樣深情
我以天為証 跟你帶領

我以天為証 請你帶領

即使如此,歌曲仍然可以刻於腦中,因為我們不是用理性來聽歌。

ps1. 聽聞蔣嘉瑩當年簽了無線,不過影也不見,看來是一單「戰略性收購」?

ps2. 說到不明白歌詞,容祖兒的 《凝容》 更是撲朔迷離。

Blog Action Day - 浪費包裝

Tuesday, October 16, 2007

Bloggers Unite - Blog Action Day

不知大家有沒有這種感覺:某某歌手出碟,有幾首作品網上試聽過不錯,買碟回家後連忙轉檔放進 MP3 Player 內,看過包裝歌詞後,便放在一旁,好像用完即棄,感覺很浪費。

越來越多大容量體積小的儲存裝置出現,我們都將成上萬的資料放進那小小的空間結構當中,我們所能省下的資源也可能越來越多。我不知道儲存一首歌到硬碟,對比存到 CD 所用的儲存成本如何,但至少數碼化的檔案可以重複使用,也可以省去包裝吧?

外國網上賣歌,沒有包裝招紙,沒有運輸費用,只要伺服器夠強,配套足夠 (如 iTunes Stores + iPod) ,就可以賣歌給成千上萬的人,更不用說那些長尾效應。

我倒相信本港的唱片業不是盲的,但在多種因素影響下,網上賣音樂似乎仍然困難。大家的討論通常都會歸納到某幾點上:香港不流行網上購物、地方小買東西很方便、傳統音樂產業鏈牽連太廣難以改變等等。

那麼是否會就此停滯不前呢?高速流動網絡的發展能否有催化作用?會否有更有效的付款機制?似乎還未能看出個所以然來。